canonical: https://jentic.com/apis/billit.be/billit-be

# Billit Be Billit API

The Billit API exposes the Belgian invoicing platform that lets businesses manage documents, customers, cashbooks, general ledger accounts, financial transactions, and e-invoice registrations. It is the entry point for the Peppol-based e-invoicing flows that became mandatory for B2B invoicing in Belgium, with endpoints to register entities, send e-documents, and manage webhooks for incoming e-invoices. 23 REST endpoints cover account onboarding, document storage, cashbook entries, and bulk financial transaction imports. Authentication is by bearer token issued from the Billit dashboard.

## For AI agents

Send Belgian e-invoices over Peppol, manage documents and cashbook entries, and import financial transactions through the Billit invoicing platform.

## Scope

Does not handle card payment processing, payroll, or general ledger reporting beyond account creation - use for Belgian invoicing, Peppol e-invoicing, and cashbook management only.

## Capabilities

- Register a company on the Peppol e-invoicing network and send compliant e-documents
- Save and retrieve invoices, credit notes, and other documents stored in Billit
- Initialise, append entries to, and close a cashbook for daily takings tracking
- Import batches of financial transactions for reconciliation against documents
- Create general ledger accounts used to categorise documents and transactions
- Subscribe to webhooks that fire when an e-invoice arrives at a registered Peppol endpoint
- Onboard new companies into the Billit ecosystem from a partner application

## Use cases

### Belgian Peppol E-Invoicing

Belgium has phased in mandatory B2B e-invoicing over the Peppol network. The Billit API exposes `/v1/einvoices/registrations` to onboard sending entities and POST `/v1/einvoices/registrations/{registrationID}/commands/send` to dispatch e-documents, which removes the need for direct Peppol access point integration. A typical integration is two to four days, including webhook handling for inbound documents.

Example prompt: Register company VAT BE0123456789 on Peppol via POST `/v1/einvoices/registrations`, then send an e-invoice for 1500 EUR to a customer via the registration's send command.

### Cashbook Management for Cash-Heavy Businesses

Belgian retailers and hospitality operators are required to maintain a cashbook of daily takings. The Billit API initialises a cashbook with POST `/v1/Cashbook/Initialize`, appends entries via POST `/v1/Cashbook/AddEntry`, and closes it permanently when an audit period ends. Setup is typically half a day for a single till.

Example prompt: Initialise a cashbook for the current company, then post each of today's three cash sales as separate entries via `/v1/Cashbook/AddEntry.`

### Bank Transaction Import and Reconciliation

Finance teams want bank statements to flow into their invoicing tool so receivables can be auto-matched to documents. The Billit API accepts batches of transactions via POST `/v1/financialTransactions/commands/import` and exposes `/v1/financialTransactions` for retrieval, which lets a nightly job reconcile a full statement run in a single call. Integration is usually one day for a single bank feed.

Example prompt: Import yesterday's CODA transaction list into Billit via `/v1/financialTransactions/commands/import` and confirm the count returned matches the source file.

### AI Agent E-Invoicing Assistant via Jentic

An AI assistant for Belgian SMEs can send e-invoices, look up cashbook entries, and reconcile bank feeds via natural-language requests routed through Jentic. The bearer token is held in your Jentic One instance, so the agent never sees the secret. Search-load-execute through Jentic gets the integration live in under an hour.

Example prompt: Search Jentic for 'send a Peppol e-invoice', load the send-command schema, and execute it with the customer's registration ID and a 250 EUR invoice payload.

## Key endpoints

| Method | Path | Description |
| --- | --- | --- |
| POST | `/v1/documents` | Save a new document |
| GET | `/v1/documents` | List documents |
| POST | `/v1/einvoices/registrations` | Register an entity for Peppol e-invoicing |
| POST | `/v1/einvoices/registrations/{registrationID}/commands/send` | Send a Peppol e-document |
| POST | `/v1/Cashbook/AddEntry` | Add an entry to the active cashbook |
| POST | `/v1/financialTransactions/commands/import` | Import a batch of financial transactions |
| POST | `/v1/account/registercompany` | Register a new company in Billit |
| POST | `/v1/einvoices/registrations/{registrationID}/webhooks` | Subscribe to inbound e-invoice webhooks |

## Key resources

- **Account** — Retrieve account information, generate SSO tokens, manage document numbering sequences, and register new companies
- **Documents** — Save and retrieve invoices, credit notes, and other documents
- **Cashbook** — Initialise, append entries to, list, and close the active cashbook
- **Einvoice** — Manage Peppol registrations, send e-documents, and subscribe to webhooks for inbound e-invoices
- **FinancialTransaction** — Retrieve financial transactions and import bulk batches for reconciliation
- **GLAccount** — Create general ledger accounts used by documents and transactions

## Why Jentic

- **Setup:** Wiring the Billit API by hand means carrying its bearer token on every call and building each document, Peppol e-invoice registration, and cashbook path yourself. Through Jentic you install once, import Billit from the API Directory, store the token once, and your agent calls it.
- **Permission scoping:** Billit puts the registration id in the URL path (`/v1/einvoices/registrations/{registrationID}/commands/send`), so a rule can pin your agent to one e-invoice registration. You choose the operations it may call, so sending a Peppol e-invoice or adding webhooks is not included unless you add them.
- **Credential handling:** Your Billit bearer token is stored once, encrypted, by your own Jentic One instance and injected at execution time. It never enters the agent's prompt, logs, or context.
- **Discovery method:** Agents search Jentic by intent such as 'send a Peppol e-invoice' or 'add a cashbook entry', and Jentic returns the matching Billit operation with its input schema so the agent calls the right endpoint without browsing the reference docs.

## Related APIs

- **Billit (Netherlands)** — The Dutch counterpart Billit platform with similar invoicing scope
- **Billingo** — Hungarian invoicing platform with Online Számla reporting
- **Stripe** — Card and bank-payment processor that pairs with Billit invoicing
- **Xero Accounting** — International cloud accounting platform with invoicing

## FAQ

### What authentication does the Billit API use?

The Billit API uses HTTP bearer token authentication. You generate the token in the Billit dashboard and supply it as Authorization: Bearer <token>. When called via Jentic, the token is held in your Jentic One instance so the raw bearer credential never reaches the agent's context.

### Can I send Peppol e-invoices through the Billit API?

Yes. Register the sending entity via POST `/v1/einvoices/registrations`, then dispatch e-documents via POST `/v1/einvoices/registrations/{registrationID}/commands/send.` Billit acts as the Peppol access point, so the integration does not need to handle Peppol routing directly.

### What are the rate limits for the Billit API?

The OpenAPI spec does not declare explicit numeric rate limits. Billit's published practice is to throttle abusive traffic and return 429 responses when limits are exceeded. The Jentic SDK retries on 429 with back-off, so high-volume reconciliation jobs do not have to implement this manually.

### How do I import a batch of bank transactions into Billit through Jentic?

Search Jentic for 'import bank transactions to Billit', which surfaces POST `/v1/financialTransactions/commands/import.` Load the schema, supply the transaction list, and execute. The Python flow is: pip install jentic, then await client.search, await client.load, await client.execute.

### Can I subscribe to inbound e-invoice notifications?

Yes. POST `/v1/einvoices/registrations/{registrationID}/webhooks` creates a webhook for a specific Peppol registration, and GET on the same path lists existing webhooks. This is the supported mechanism for receiving real-time inbound e-invoice events.

### Does the Billit API expose cashbook operations?

Yes. `/v1/Cashbook` covers the full lifecycle: initialise, append entries, list entries, and permanently close. This is the same data Belgian businesses are required to keep for daily cash takings, exposed for direct automation.

### Can I limit what my agent is allowed to do with the Billit API?

Yes. Because you run Jentic One yourself, your own rules decide which Billit operations the agent may call, so it can add a cashbook entry via POST `/v1/Cashbook/AddEntry` without being able to send a Peppol e-invoice via POST `/v1/einvoices/registrations/{registrationID}/commands/send` unless you allow that operation. Since Billit puts the registration id in the URL path, a rule can also pin the agent to a single e-invoice registration. Operations like subscribing to inbound webhooks or importing financial transactions stay off limits until you grant them.
