---
title: Overview & Prerequisites
slug: devdocs/l4gM-overview-and-prerequisites
docTags: 
createdAt: 2026-10-22T08:35:58.933Z
---

The **Accounting API** lets an external ERP system exchange accounting data with Expressoft. It is built on GraphQL.

You can **read**:

| **Data**                          | **What it is**                                             | **What you get**                                               |
| --------------------------------- | ---------------------------------------------------------- | -------------------------------------------------------------- |
| Companies (partners)              | The firms you work with: suppliers, business customers     | Name, fiscal code, registration code, bank accounts, addresses |
| Organizations                     | Your own entities registered in Expressoft                 | Name, fiscal code, registration code                           |
| Locations                         | Stores, warehouses, restaurants where you work             | Name and external code                                         |
| Products                          | The catalog of products and services                       | Code, name, bar code, category, measure unit, type             |
| Purchase invoices                 | The invoices you receive from suppliers                    | Number, date, supplier, products, quantities, values, VAT      |
| Sale invoices                     | The invoices you issue to customers                        | Number, date, customer, products, values, VAT                  |
| Transfers                         | Goods moved between warehouses                             | Products, quantities, source and destination, value            |
| Consumption and production notes  | Raw materials consumed and products made                   | Products, quantities, values                                   |
| Inventory adjustments             | Stock corrections found at the inventory                   | Products, adjusted quantity, value                             |
| Business days and fiscal receipts | The daily cash register closings                           | Orders, payments and products sold per day                     |
| Physical stocks                   | The stock of a product at a given time, per warehouse      | Start and end quantity, price, batch                           |
| Reference data                    | Warehouses, payment methods, currencies, consumption types | Lists to map the Expressoft codes to your ERP codes            |
| PMS (hotel module)                | Invoices, business days and receipts of the hotel system   | The same kinds of data, for the hotel context                  |

You can **write** one thing: create a **purchase invoice** in Expressoft, directly from your ERP.

## How an integration works

1. **Authenticate.** Get a Bearer token. See **Authentication**.
2. **Explore the schema.** Use the **GraphQL Playground** (sandbox only) to see the data and the operations.
3. **Query the data.** Send queries and mutations as `POST` to the GraphQL endpoint that the token request returns.

## Prerequisites

| **You need**              | **Where to get it**                                                                                                      |
| ------------------------- | ------------------------------------------------------------------------------------------------------------------------ |
| A username and a password | Expressoft issues them per integration. See **Getting Access**.                                                          |
| The Accounting permission | Your user needs the `ConnectAccounting` permission. Without it, queries are rejected.                                    |
| The GraphQL endpoint      | Returned by the token request in `extension.apiURL`. In sandbox: `https://sandbox.expressoft.eu/connect/api/interopgql`. |

:::BlockQuote
⚠️ **WARNING**
The sandbox runs on a **DEMO** database that is restored periodically. Data you save there isn't persistent and can disappear without notice.
:::

:::BlockQuote
ℹ️ **INFO**
The queries and mutations on these pages are validated against the schema. The responses are examples. Run a request in the **GraphQL Playground** to see a live response.
:::

