> ## Documentation Index
> Fetch the complete documentation index at: https://docs.e-invoice.be/llms.txt
> Use this file to discover all available pages before exploring further.

# Introduction

> Find out how to send and receive Peppol e-invoices with the e-invoice.be API from JSON, UBL XML or PDF.

## What is e-invoice.be?

e-invoice.be is a **recognised [Peppol](/glossary#peppol) [Access Point](/glossary#access-point) and [SMP](/glossary#smp)** that operates under the Belgian Peppol Authority (BOSA). Companies in all countries can use it to send and receive electronic invoices on the Peppol network.

With the API you can:

* Send invoices and [credit notes](/guides/credit-notes) from **JSON**
* Upload **UBL XML** that your ERP system generates
* Create invoices from **PDF files**
* Receive documents from other Peppol participants
* Give Peppol e-invoicing to your own customers through the **reseller programme**

e-invoice.be is a member of the Peppol Security Committee.

<img src="https://mintcdn.com/e-invoicebe/CFU_pSBPC8Tl3D-5/images/peppol-access-provider.png?fit=max&auto=format&n=CFU_pSBPC8Tl3D-5&q=85&s=036671ca9d7044578d8564c7acb8e39f" alt="e-invoice.be as Peppol Access Point" style={{ borderRadius: '0.5rem' }} width="633" height="213" data-path="images/peppol-access-provider.png" />

## Who uses e-invoice.be

* **Individual companies** in many industries (manufacturing, services, retail)
* **Public and private listed companies**
* **SaaS companies**, through the [reseller programme](/reseller-programme)
* **Public and government agencies**
* **Companies with or without an ERP system**

<Note>
  Peppol is an international network for electronic invoicing. E-invoices that you send through Peppol comply with the European standard EN 16931 and are recognised in many countries outside Europe.
</Note>

## How Peppol works

The Peppol network uses a **4-corner model** for the exchange of e-invoices between companies:

<img src="https://mintcdn.com/e-invoicebe/CFU_pSBPC8Tl3D-5/images/peppol-4-corner-model.png?fit=max&auto=format&n=CFU_pSBPC8Tl3D-5&q=85&s=6c1e11f1ab90c7b589cc45badcb3abba" alt="Peppol 4-corner model" style={{ borderRadius: '0.5rem' }} width="1316" height="938" data-path="images/peppol-4-corner-model.png" />

1. **Corner 1**: Your company (the sender)
2. **Corner 2**: Your Access Point (e-invoice.be)
3. **Corner 3**: The Access Point of the receiver
4. **Corner 4**: The company of the receiver

e-invoice.be does the Peppol transmission. Your system sends a document to the API, and the API converts it to UBL BIS Billing 3.0 and sends it to the Access Point of the receiver.

## Get started

<Steps>
  <Step title="Create an account">
    Sign up at [app.e-invoice.be](https://app.e-invoice.be).
  </Step>

  <Step title="Create a sandbox company">
    A sandbox company runs in test mode. Nothing goes to the Peppol network.
  </Step>

  <Step title="Check the API key">
    Call `GET /api/me/` with the API key of the sandbox company.
  </Step>

  <Step title="Validate the invoice">
    Send the invoice JSON to `POST /api/validate/json`.
  </Step>

  <Step title="Create the document">
    Send the same JSON to `POST /api/documents/`.
  </Step>

  <Step title="Send the document">
    Call `POST /api/documents/{document_id}/send`.
  </Step>
</Steps>

<Card title="Quickstart" icon="rocket" href="/quickstart" horizontal>
  Do each step with complete requests and responses
</Card>

## Core features

### Create e-invoices

Send invoices and credit notes through Peppol from a JSON payload:

```json Invoice theme={null}
{
  "document_type": "INVOICE",
  "invoice_id": "INV-2026-001",
  "invoice_date": "2026-10-01",
  "due_date": "2026-10-31",
  "currency": "EUR",
  "purchase_order": "PO-12345",
  "vendor_name": "E-INVOICE BV",
  "vendor_tax_id": "BE1018265814",
  "vendor_address": "Brusselsesteenweg 119/A, 1980 Zemst, BE",
  "vendor_email": "billing@e-invoice.be",
  "customer_name": "OpenPeppol VZW",
  "customer_tax_id": "BE0848934496",
  "customer_address": "Robert Schumanplein 6 bus 5, 1040 Brussel, BE",
  "items": [
    {
      "description": "Professional services",
      "quantity": 10,
      "unit": "C62",
      "unit_price": 100.00,
      "amount": 1000.00,
      "tax_rate": "21.00"
    }
  ],
  "subtotal": 1000.00,
  "total_tax": 210.00,
  "invoice_total": 1210.00,
  "amount_due": 1210.00,
  "payment_term": "Payment within 30 days",
  "payment_details": [
    {
      "iban": "BE68539007547034",
      "swift": "GEBABEBB",
      "payment_reference": "INV-2026-001"
    }
  ]
}
```

Replace the vendor fields with the data of your company. The API rejects a document if the Peppol ID of the vendor is not one of the `peppol_ids` of your company.

<Card title="Create e-invoices" icon="file-invoice" href="/guides/creating-invoices">
  Create and send an e-invoice
</Card>

### Validate before you send

`POST /api/validate/json` examines the invoice JSON and does not create a document.

<Note>
  Validation is not a separate mandatory call. `POST /api/documents/` rejects a payload that does not pass the same rules. Use `POST /api/validate/json` while you develop, because it returns all rule failures and the generated UBL.
</Note>

<Card title="Validation during development" icon="circle-check" href="/guides/validation">
  Validate invoices while you develop
</Card>

### Look up Peppol participants

Make sure that a customer can receive e-invoices before you send. This endpoint does not require an API key.

```bash theme={null}
curl "https://api.e-invoice.be/api/validate/peppol-id?peppol_id=0208:0848934496"
```

```json theme={null}
{
  "is_valid": true,
  "dns_valid": true,
  "business_card_valid": true,
  "supported_document_types": [
    "urn:oasis:names:specification:ubl:schema:xsd:Invoice-2::Invoice##urn:cen.eu:en16931:2017#compliant#urn:fdc:peppol.eu:2017:poacc:billing:3.0::2.1"
  ],
  "business_card": {
    "name": "OpenPeppol VZW",
    "country_code": "BE",
    "registration_date": null
  }
}
```

<Card title="Look up Peppol participants" icon="magnifying-glass" href="/guides/lookup-participants">
  Find and examine the Peppol IDs of your customers
</Card>

### Receive documents

Documents that other Peppol participants send to your company go into the inbox.

<Card title="Receive documents" icon="inbox" href="/guides/receiving-documents">
  Find received documents and download the UBL, the PDF and the attachments
</Card>

### Webhooks

The API sends a notification to your server for each of these events:

* `document.received`
* `document.received.failed`
* `document.sent`
* `document.sent.failed`

<Card title="Webhooks" icon="webhook" href="/essentials/webhooks">
  Set up webhook notifications
</Card>

## Developer tools

<CardGroup cols={2}>
  <Card title="API reference" icon="code" href="/api-reference">
    Overview of the host, the authentication, the endpoint groups, pagination and errors
  </Card>

  <Card title="SDKs" icon="cubes" href="/sdks">
    Typed clients for TypeScript, Python, Ruby, PHP and Java
  </Card>

  <Card title="peppol CLI" icon="terminal" href="/cli">
    Validate, create and send documents from the command line
  </Card>

  <Card title="Errors and troubleshooting" icon="triangle-exclamation" href="/guides/errors">
    Status codes, error formats and retry rules
  </Card>
</CardGroup>

## For resellers

SaaS companies and software vendors can give Peppol e-invoicing to their customers.

<Card title="Reseller programme" icon="handshake" href="/reseller-programme" horizontal>
  Conditions and integration for SaaS platforms and service providers
</Card>

## Support

<CardGroup cols={2}>
  <Card title="Support" icon="envelope" href="mailto:support@e-invoice.be">
    Send an email to the support team
  </Card>

  <Card title="GitHub" icon="github" href="https://github.com/e-invoice-be">
    See the open-source projects
  </Card>
</CardGroup>

## Next Steps

<CardGroup cols={2}>
  <Card title="Quickstart" icon="rocket" href="/quickstart">
    Send a first invoice with a sandbox company
  </Card>

  <Card title="Test mode and sandbox companies" icon="flask" href="/environments">
    Test without traffic on the Peppol network
  </Card>

  <Card title="Go-live checklist" icon="list-check" href="/going-live">
    Change from a sandbox company to a production company
  </Card>

  <Card title="Changelog" icon="clock-rotate-left" href="/changelog">
    Changes to the API and to this documentation
  </Card>
</CardGroup>


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.