# Recommand Documentation

> Recommand provides a Peppol API and documentation for building, testing, and integrating Peppol-based electronic document flows into your applications and workflows.

This file is intended for large language models and tools. It lists the most relevant documentation pages in a compact, markdown-friendly format.
Each link points to a markdown version of a documentation page that is suitable for use as LLM context.

## Country-specific getting started guides

- [Sending Peppol documents in Belgium for the companies you onboard](/getting-started/belgium/platform/sending.mdx): Getting started with Peppol e-invoicing for Belgian companies you onboard from your own software platform: register and verify the company, send Peppol invoices and credit notes, go live. Peppol BIS 3 UBL, enterprise numbers under scheme 0208, and a B2B mandate that is already in force.
- [Receiving Peppol documents in Belgium for the companies you onboard](/getting-started/belgium/platform/receiving.mdx): Getting started with Peppol e-invoicing for Belgian companies you onboard from your own software platform: register and verify the company, pull incoming documents through webhooks, go live. Peppol BIS 3 UBL, enterprise numbers under scheme 0208, and a B2B mandate that is already in force.
- [Sending and receiving Peppol documents in Belgium for the companies you onboard](/getting-started/belgium/platform/sending-and-receiving.mdx): Getting started with Peppol e-invoicing for Belgian companies you onboard from your own software platform: register and verify the company, send Peppol invoices and credit notes, pull incoming documents through webhooks, go live. Peppol BIS 3 UBL, enterprise numbers under scheme 0208, and a B2B mandate that is already in force.
- [Sending Peppol documents in Belgium for your own company](/getting-started/belgium/business/sending.mdx): Getting started with Peppol e-invoicing for your own Belgian company: register and verify the company, send Peppol invoices and credit notes, go live. Peppol BIS 3 UBL, enterprise numbers under scheme 0208, and a B2B mandate that is already in force.
- [Receiving Peppol documents in Belgium for your own company](/getting-started/belgium/business/receiving.mdx): Getting started with Peppol e-invoicing for your own Belgian company: register and verify the company, pick up incoming documents, go live. Peppol BIS 3 UBL, enterprise numbers under scheme 0208, and a B2B mandate that is already in force.
- [Sending and receiving Peppol documents in Belgium for your own company](/getting-started/belgium/business/sending-and-receiving.mdx): Getting started with Peppol e-invoicing for your own Belgian company: register and verify the company, send Peppol invoices and credit notes, pick up incoming documents, go live. Peppol BIS 3 UBL, enterprise numbers under scheme 0208, and a B2B mandate that is already in force.
- [Sending Peppol documents in France for the companies you onboard](/getting-started/france/platform/sending.mdx): Getting started with Peppol e-invoicing for French companies you onboard from your own software platform: register and verify the company, send French UBL, CII or Factur-X invoices, report B2C and cross-border sales, go live. French UBL, CII and Factur-X on a French-accredited access point, with a signed mandate and its own regulated process.
- [Receiving Peppol documents in France for the companies you onboard](/getting-started/france/platform/receiving.mdx): Getting started with Peppol e-invoicing for French companies you onboard from your own software platform: register and verify the company, pull incoming documents through webhooks, report invoice lifecycle statuses, go live. French UBL, CII and Factur-X on a French-accredited access point, with a signed mandate and its own regulated process.
- [Sending and receiving Peppol documents in France for the companies you onboard](/getting-started/france/platform/sending-and-receiving.mdx): Getting started with Peppol e-invoicing for French companies you onboard from your own software platform: register and verify the company, send French UBL, CII or Factur-X invoices, report B2C and cross-border sales, pull incoming documents through webhooks, report invoice lifecycle statuses, go live. French UBL, CII and Factur-X on a French-accredited access point, with a signed mandate and its own regulated process.
- [Sending Peppol documents in France for your own company](/getting-started/france/business/sending.mdx): Getting started with Peppol e-invoicing for your own French company: register and verify the company, send French UBL, CII or Factur-X invoices, report B2C and cross-border sales, go live. French UBL, CII and Factur-X on a French-accredited access point, with a signed mandate and its own regulated process.
- [Receiving Peppol documents in France for your own company](/getting-started/france/business/receiving.mdx): Getting started with Peppol e-invoicing for your own French company: register and verify the company, pick up incoming documents, report invoice lifecycle statuses, go live. French UBL, CII and Factur-X on a French-accredited access point, with a signed mandate and its own regulated process.
- [Sending and receiving Peppol documents in France for your own company](/getting-started/france/business/sending-and-receiving.mdx): Getting started with Peppol e-invoicing for your own French company: register and verify the company, send French UBL, CII or Factur-X invoices, report B2C and cross-border sales, pick up incoming documents, report invoice lifecycle statuses, go live. French UBL, CII and Factur-X on a French-accredited access point, with a signed mandate and its own regulated process.
- [Sending Peppol documents in the Netherlands for the companies you onboard](/getting-started/netherlands/platform/sending.mdx): Getting started with Peppol e-invoicing for Dutch companies you onboard from your own software platform: register and verify the company, send Peppol invoices and credit notes, go live. KVK numbers under scheme 0106, and SI-UBL 2.0 (NLCIUS) alongside Peppol BIS 3.
- [Receiving Peppol documents in the Netherlands for the companies you onboard](/getting-started/netherlands/platform/receiving.mdx): Getting started with Peppol e-invoicing for Dutch companies you onboard from your own software platform: register and verify the company, pull incoming documents through webhooks, go live. KVK numbers under scheme 0106, and SI-UBL 2.0 (NLCIUS) alongside Peppol BIS 3.
- [Sending and receiving Peppol documents in the Netherlands for the companies you onboard](/getting-started/netherlands/platform/sending-and-receiving.mdx): Getting started with Peppol e-invoicing for Dutch companies you onboard from your own software platform: register and verify the company, send Peppol invoices and credit notes, pull incoming documents through webhooks, go live. KVK numbers under scheme 0106, and SI-UBL 2.0 (NLCIUS) alongside Peppol BIS 3.
- [Sending Peppol documents in the Netherlands for your own company](/getting-started/netherlands/business/sending.mdx): Getting started with Peppol e-invoicing for your own Dutch company: register and verify the company, send Peppol invoices and credit notes, go live. KVK numbers under scheme 0106, and SI-UBL 2.0 (NLCIUS) alongside Peppol BIS 3.
- [Receiving Peppol documents in the Netherlands for your own company](/getting-started/netherlands/business/receiving.mdx): Getting started with Peppol e-invoicing for your own Dutch company: register and verify the company, pick up incoming documents, go live. KVK numbers under scheme 0106, and SI-UBL 2.0 (NLCIUS) alongside Peppol BIS 3.
- [Sending and receiving Peppol documents in the Netherlands for your own company](/getting-started/netherlands/business/sending-and-receiving.mdx): Getting started with Peppol e-invoicing for your own Dutch company: register and verify the company, send Peppol invoices and credit notes, pick up incoming documents, go live. KVK numbers under scheme 0106, and SI-UBL 2.0 (NLCIUS) alongside Peppol BIS 3.
- [Sending Peppol documents in other countries for the companies you onboard](/getting-started/other/platform/sending.mdx): Getting started with Peppol e-invoicing for companies in other countries you onboard from your own software platform: register and verify the company, send Peppol invoices and credit notes, go live. Around thirty other countries work the same way: Peppol BIS 3 UBL on Recommand's own access point, with that country's own identifier schemes.
- [Receiving Peppol documents in other countries for the companies you onboard](/getting-started/other/platform/receiving.mdx): Getting started with Peppol e-invoicing for companies in other countries you onboard from your own software platform: register and verify the company, pull incoming documents through webhooks, go live. Around thirty other countries work the same way: Peppol BIS 3 UBL on Recommand's own access point, with that country's own identifier schemes.
- [Sending and receiving Peppol documents in other countries for the companies you onboard](/getting-started/other/platform/sending-and-receiving.mdx): Getting started with Peppol e-invoicing for companies in other countries you onboard from your own software platform: register and verify the company, send Peppol invoices and credit notes, pull incoming documents through webhooks, go live. Around thirty other countries work the same way: Peppol BIS 3 UBL on Recommand's own access point, with that country's own identifier schemes.
- [Sending Peppol documents in other countries for your own company](/getting-started/other/business/sending.mdx): Getting started with Peppol e-invoicing for your own company in another country: register and verify the company, send Peppol invoices and credit notes, go live. Around thirty other countries work the same way: Peppol BIS 3 UBL on Recommand's own access point, with that country's own identifier schemes.
- [Receiving Peppol documents in other countries for your own company](/getting-started/other/business/receiving.mdx): Getting started with Peppol e-invoicing for your own company in another country: register and verify the company, pick up incoming documents, go live. Around thirty other countries work the same way: Peppol BIS 3 UBL on Recommand's own access point, with that country's own identifier schemes.
- [Sending and receiving Peppol documents in other countries for your own company](/getting-started/other/business/sending-and-receiving.mdx): Getting started with Peppol e-invoicing for your own company in another country: register and verify the company, send Peppol invoices and credit notes, pick up incoming documents, go live. Around thirty other countries work the same way: Peppol BIS 3 UBL on Recommand's own access point, with that country's own identifier schemes.

## Guides

- [Authentication](/docs/authentication.mdx): Learn how to authenticate with the Recommand Peppol API using Basic API keys, JWT bearer tokens, or OAuth2 with JWT assertion.
- [Company Verification](/docs/company-verification.mdx): Verify that a company representative is authorised to act on behalf of a company before it can participate on the Peppol network.
- [Discounts & Surcharges](/docs/discounts-and-surcharges.mdx): Add document-level and line-level discounts or surcharges to invoices, credit notes, and self-billing documents.
- [Email Delivery and Notifications](/docs/email-delivery-and-notifications.mdx): Send documents via email alongside or instead of Peppol, and configure email notifications for incoming and outgoing documents.
- [Financial Discount](/docs/financial-discounts.mdx): Model a conditional early-payment discount (korting contant) on a Peppol document using a matching allowance and charge so that the payable amount stays the full amount due.
- [Getting Started](/docs.mdx): Set up and start using the Recommand Peppol API for e-invoicing. Covers authentication, sending invoices, receiving documents, verifying recipients, and webhook configuration.
- [Managing Companies](/docs/managing-companies.mdx): Create, update, list, and delete company profiles in Recommand for Peppol document exchange. Includes Peppol registration and field reference.
- [Peppol Network Basics](/docs/peppol-network-basics.mdx): Learn the fundamentals of the Peppol network, including how it works, its four-corner model, participant IDs, access points, and the role of service providers.
- [Peppol Standards and Compliance](/docs/peppol-standards-and-compliance.mdx): Overview of Peppol BIS specifications, EN16931 compliance, country-specific e-invoicing mandates, and the standards behind Peppol document exchange.
- [Receiving Documents](/docs/receiving-documents.mdx): Process incoming Peppol documents using webhooks or polling. Covers real-time webhook delivery, inbox polling, fetching document details, and marking documents as read.
- [Working with Rules](/docs/rules.mdx): Create automations that send webhooks or emails when supported Peppol events happen, with optional filters for company, document type, labels, and more.
- [Self‑Billing](/docs/self-billing.mdx): Send Peppol-compliant self-billing invoices and credit notes where the buyer creates the invoice on behalf of the supplier via the Recommand API.
- [Sending Credit Notes](/docs/sending-credit-notes.mdx): Issue and send Peppol credit notes to reverse or adjust invoices using the Recommand API. Includes field reference and code examples.
- [Sending Invoices](/docs/sending-invoices.mdx): Create and send Peppol-compliant invoices via the Recommand API. Covers invoice fields, recipient verification, attachments, and response handling.
- [Suppliers and Labels](/docs/suppliers-and-labels.mdx): Use suppliers and labels to route incoming Peppol documents, categorize vendors, and build automated integration workflows with the Recommand API.
- [Troubleshooting Guide](/docs/troubleshooting-guide.mdx): Diagnose and fix common Recommand Peppol API issues including authentication errors, validation failures, webhook problems, and document delivery issues.
- [Understanding Peppol UBL Format](/docs/ubl-format-guide.mdx): Understand the UBL (Universal Business Language) XML format used in Peppol e-invoicing, including document structure, EN16931 compliance, and field mapping.
- [Verifying Recipients](/docs/verifying-recipients.mdx): Check if a recipient is registered on the Peppol network and supports specific document types before sending, using the Recommand verify endpoint.
- [Working with Webhooks](/docs/working-with-webhooks.mdx): Set up webhooks to receive real-time notifications for Peppol document events like incoming invoices, delivery status updates, and more.

# Recommand Peppol API Reference

Complete API reference for the Recommand Peppol API. All endpoints require authentication via Basic Auth or JWT Bearer token.

## Authentication

- [Verify Authentication](/reference/authentication/verify-auth.mdx): `GET /api/core/auth/verify`

## Sending

- [Send Document](/reference/sending/send-document.mdx): `POST /api/v1/{companyId}/send`
- [Generate Document](/reference/sending/generate.mdx): `POST /api/v1/{companyId}/generate`

## Reporting

- [Get the French e-reporting registration](/reference/reporting/get-french-reporting-declarant.mdx): `GET /api/v1/{companyId}/reporting/fr/declarant`
- [Register a company for French e-reporting](/reference/reporting/register-french-reporting-declarant.mdx): `PUT /api/v1/{companyId}/reporting/fr/declarant`
- [Submit a French B2C report](/reference/reporting/submit-french-b2creport.mdx): `POST /api/v1/{companyId}/reporting/fr/b2c`
- [Submit a French cross-border report](/reference/reporting/submit-french-b2bi-report.mdx): `POST /api/v1/{companyId}/reporting/fr/b2bi`

## Recipients

- [Verify Recipient](/reference/recipients/verify-recipient.mdx): `POST /api/v1/verify`
- [Verify Document Support](/reference/recipients/verify-document-support.mdx): `POST /api/v1/verify-document-support`
- [Search Directory](/reference/recipients/search-directory.mdx): `POST /api/v1/search-peppol-directory`

## Documents

- [List Documents](/reference/documents/get-documents.mdx): `GET /api/v1/documents`
- [Get Document](/reference/documents/get-document.mdx): `GET /api/v1/documents/{documentId}`
- [Delete Document](/reference/documents/delete-document.mdx): `DELETE /api/v1/documents/{documentId}`
- [Inbox](/reference/documents/get-inbox.mdx): `GET /api/v1/inbox`
- [Mark Document as Read](/reference/documents/mark-as-read.mdx): `POST /api/v1/documents/{documentId}/mark-as-read`
- [Download Document Package](/reference/documents/download-package.mdx): `GET /api/v1/documents/{documentId}/download-package`
- [Assign Label to Document](/reference/documents/assign-label-to-document.mdx): `POST /api/v1/documents/{documentId}/labels/{labelId}`
- [Unassign Label from Document](/reference/documents/unassign-label-from-document.mdx): `DELETE /api/v1/documents/{documentId}/labels/{labelId}`
- [Render Document Preview](/reference/documents/render-document.mdx): `GET /api/v1/documents/{documentId}/render/{type}`

## Companies

- [List Companies](/reference/companies/get-companies.mdx): `GET /api/v1/companies`
- [Create Company](/reference/companies/create-company.mdx): `POST /api/v1/companies`
- [Get Company](/reference/companies/get-company.mdx): `GET /api/v1/companies/{companyId}`
- [Update Company](/reference/companies/update-company.mdx): `PUT /api/v1/companies/{companyId}`
- [Delete Company](/reference/companies/delete-company.mdx): `DELETE /api/v1/companies/{companyId}`
- [Verify Company](/reference/companies/verify-company.mdx): `POST /api/v1/companies/{companyId}/verify`

## Company Identifiers

- [List Company Identifiers](/reference/company-identifiers/get-company-identifiers.mdx): `GET /api/v1/companies/{companyId}/identifiers`
- [Create Company Identifier](/reference/company-identifiers/create-company-identifier.mdx): `POST /api/v1/companies/{companyId}/identifiers`
- [Get Company Identifier](/reference/company-identifiers/get-company-identifier.mdx): `GET /api/v1/companies/{companyId}/identifiers/{identifierId}`
- [Update Company Identifier](/reference/company-identifiers/update-company-identifier.mdx): `PUT /api/v1/companies/{companyId}/identifiers/{identifierId}`
- [Delete Company Identifier](/reference/company-identifiers/delete-company-identifier.mdx): `DELETE /api/v1/companies/{companyId}/identifiers/{identifierId}`

## Company Document Types

- [List Company Document Types](/reference/company-document-types/get-company-document-types.mdx): `GET /api/v1/companies/{companyId}/document-types`
- [Create Company Document Type](/reference/company-document-types/create-company-document-type.mdx): `POST /api/v1/companies/{companyId}/document-types`
- [Get Company Document Type](/reference/company-document-types/get-company-document-type.mdx): `GET /api/v1/companies/{companyId}/document-types/{documentTypeId}`
- [Update Company Document Type](/reference/company-document-types/update-company-document-type.mdx): `PUT /api/v1/companies/{companyId}/document-types/{documentTypeId}`
- [Delete Company Document Type](/reference/company-document-types/delete-company-document-type.mdx): `DELETE /api/v1/companies/{companyId}/document-types/{documentTypeId}`

## Notification Emails

- [List Company Notification Email Addresses](/reference/company-notification-email-addresses/get-company-notification-email-addresses.mdx): `GET /api/v1/companies/{companyId}/notification-email-addresses`
- [Create Company Notification Email Address](/reference/company-notification-email-addresses/create-company-notification-email-address.mdx): `POST /api/v1/companies/{companyId}/notification-email-addresses`
- [Get Company Notification Email Address](/reference/company-notification-email-addresses/get-company-notification-email-address.mdx): `GET /api/v1/companies/{companyId}/notification-email-addresses/{notificationEmailAddressId}`
- [Update Company Notification Email Address](/reference/company-notification-email-addresses/update-company-notification-email-address.mdx): `PUT /api/v1/companies/{companyId}/notification-email-addresses/{notificationEmailAddressId}`
- [Delete Company Notification Email Address](/reference/company-notification-email-addresses/delete-company-notification-email-address.mdx): `DELETE /api/v1/companies/{companyId}/notification-email-addresses/{notificationEmailAddressId}`

## Playgrounds

- [Get Playground](/reference/playgrounds/get-playground.mdx): `GET /api/v1/playgrounds/current`
- [Create Playground](/reference/playgrounds/create-playground.mdx): `POST /api/v1/playgrounds`

## Labels

- [List Labels](/reference/labels/get-labels.mdx): `GET /api/v1/labels`
- [Create Label](/reference/labels/create-label.mdx): `POST /api/v1/labels`
- [Get Label](/reference/labels/get-label.mdx): `GET /api/v1/labels/{labelId}`
- [Update Label](/reference/labels/update-label.mdx): `PUT /api/v1/labels/{labelId}`
- [Delete Label](/reference/labels/delete-label.mdx): `DELETE /api/v1/labels/{labelId}`

## Suppliers

- [List Suppliers](/reference/suppliers/get-suppliers.mdx): `GET /api/v1/suppliers`
- [Upsert Supplier](/reference/suppliers/upsert-supplier.mdx): `POST /api/v1/suppliers`
- [Get Supplier](/reference/suppliers/get-supplier.mdx): `GET /api/v1/suppliers/{supplierId}`
- [Delete Supplier](/reference/suppliers/delete-supplier.mdx): `DELETE /api/v1/suppliers/{supplierId}`
- [Assign Label to Supplier](/reference/suppliers/assign-label-to-supplier.mdx): `POST /api/v1/suppliers/{supplierId}/labels/{labelId}`
- [Unassign Label from Supplier](/reference/suppliers/unassign-label-from-supplier.mdx): `DELETE /api/v1/suppliers/{supplierId}/labels/{labelId}`

## Customers

- [List Customers](/reference/customers/get-customers.mdx): `GET /api/v1/customers`
- [Upsert Customer](/reference/customers/upsert-customer.mdx): `POST /api/v1/customers`
- [Get Customer](/reference/customers/get-customer.mdx): `GET /api/v1/customers/{customerId}`
- [Delete Customer](/reference/customers/delete-customer.mdx): `DELETE /api/v1/customers/{customerId}`

## Webhooks

- [List Webhooks](/reference/webhooks/get-webhooks.mdx): `GET /api/v1/webhooks`
- [Create Webhook](/reference/webhooks/create-webhook.mdx): `POST /api/v1/webhooks`
- [Get Webhook](/reference/webhooks/get-webhook.mdx): `GET /api/v1/webhooks/{webhookId}`
- [Update Webhook](/reference/webhooks/update-webhook.mdx): `PUT /api/v1/webhooks/{webhookId}`
- [Delete Webhook](/reference/webhooks/delete-webhook.mdx): `DELETE /api/v1/webhooks/{webhookId}`

## Models

- [Email](/reference/models/email.mdx): Email delivery options. When Peppol recipient is provided, email is optional and you can choose to always send the email, or only when Peppol delivery fails. When Peppol recipient is null, email becomes the primary delivery method and `email.to` is required. Each sent email is counted towards your document quota.
- [PDFGeneration](/reference/models/pdfgeneration.mdx): Optionally generate a PDF of the document and include it as an embedded attachment (also included in email attachments when email sending is enabled). Not supported for message level responses, French Invoicing CDAR messages, or raw XML documents.
- [Invoice](/reference/models/invoice.mdx)
- [Party](/reference/models/party.mdx)
- [Delivery](/reference/models/delivery.mdx)
- [Payment Means](/reference/models/payment-means.mdx)
- [Line](/reference/models/line.mdx)
- [Item Classification Code](/reference/models/item-classification-code.mdx)
- [Additional Item Property](/reference/models/additional-item-property.mdx)
- [Line Discount](/reference/models/line-discount.mdx)
- [Line Surcharge](/reference/models/line-surcharge.mdx)
- [VAT](/reference/models/vat.mdx)
- [Discount](/reference/models/discount.mdx)
- [Surcharge](/reference/models/surcharge.mdx)
- [Totals](/reference/models/totals.mdx): If not provided, the totals will be calculated from the document lines.
- [Provided VAT totals](/reference/models/vat-totals.mdx)
- [VATSubtotal](/reference/models/vatsubtotal.mdx)
- [Attachment](/reference/models/attachment.mdx)
- [Country Specific Billing](/reference/models/country-specific-billing.mdx): Country-specific structured billing requirements. Use the FR variant for French regulated UBL, CII, and Factur-X; omit this field for plain EN 16931 and other document types.
- [French Country Specific Billing](/reference/models/french-country-specific-billing.mdx): Structured information required by French regulated UBL, CII, and Factur-X. The billing modes and notes follow AFNOR XP Z12-012.
- [Invoice to send](/reference/models/send-invoice.mdx): Invoice to send to a recipient
- [VAT totals auto calculation](/reference/models/vat-totals-auto-calculation.mdx): Recommand will automatically calculate the VAT totals based on the document lines. For invoices that are exempt from VAT, you can provide the exemption reason or reason code here to inform the recipient of the reason why the amount is exempt from VAT.
- [Credit Note](/reference/models/credit-note.mdx)
- [Credit Note to send](/reference/models/send-credit-note.mdx): Credit note to send to a recipient
- [Self Billing Invoice to send](/reference/models/send-self-billing-invoice.mdx): Self billing invoice to send to a recipient
- [Self Billing Credit Note to send](/reference/models/send-self-billing-credit-note.mdx): Self billing credit note to send to a recipient
- [Message Level Response](/reference/models/message-level-response.mdx): Message Level Response received from a recipient
- [Message Level Response to send](/reference/models/send-message-level-response.mdx): Message Level Response to send to a recipient
- [French Invoicing CDAR to send](/reference/models/send-france-cdar.mdx): French invoice lifecycle status to send. The recipient electronic address is derived from the top-level Peppol recipient.
- [XML](/reference/models/xml.mdx): A complete Peppol UBL or CII document as a string. Set `doctypeId` yourself when it cannot be detected.
- [Self Billing Invoice](/reference/models/self-billing-invoice.mdx): Self billing invoice
- [Self Billing Credit Note](/reference/models/self-billing-credit-note.mdx): Self billing credit note
- [French Invoicing CDAR](/reference/models/france-cdar.mdx): French invoice lifecycle status using UN/CEFACT Cross Domain Acknowledgement and Response
- [French B2C reporting request](/reference/models/french-b2creport.mdx): Choose a sales report for normal daily B2C transaction totals. Choose a payment report only as an additional report for service payments using cash-basis VAT.
- [French B2C sales report](/reference/models/french-b2csales-report.mdx): The normal daily report for sales to private individuals. It records the sale date, category, transaction count, amounts excluding VAT, and VAT totals. Submit it regardless of whether customers paid immediately or will pay later. This does not send invoices to consumers. The current integration supports taxable goods and taxable services only. A day, category and currency are reported once; use `action: correct` with a new reference to replace that report.
- [French B2CSales Vat Breakdown](/reference/models/french-b2csales-vat-breakdown.mdx): Daily sales totals for one VAT rate.
- [French B2C payment report](/reference/models/french-b2cpayments-report.mdx): An additional daily report for payments received for services using cash-basis VAT (`TVA sur les encaissements`), where VAT becomes due when the customer pays. Submit the sales report as usual, then submit this payment report for the day payment is received. Do not use this report for goods or for services where VAT becomes due when invoiced (`TVA sur les débits`); it is only accepted for companies registered with VAT due on payment.
- [French B2CPayment Vat Breakdown](/reference/models/french-b2cpayment-vat-breakdown.mdx): Daily received payment total for one VAT rate.
- [French cross-border reporting request](/reference/models/french-b2bi-report.mdx): Choose an invoice report for a cross-border invoice or credit note, and a payment report for a payment received on one.
- [French cross-border invoice report](/reference/models/french-b2bi-invoice-report.mdx): Reports one invoice or credit note issued to a business established outside France. These operations are not exchanged over the French e-invoicing network, so they are reported to the French tax administration instead. The reporting company must carry its own French VAT number as well as its SIREN; cross-border reports identify the seller by both.
- [French B2Bi Buyer](/reference/models/french-b2bi-buyer.mdx): The foreign business the reported operation was invoiced to.
- [French B2Bi Invoice Vat Breakdown](/reference/models/french-b2bi-invoice-vat-breakdown.mdx): Invoice totals for one VAT rate.
- [French cross-border payment report](/reference/models/french-b2bi-payment-report.mdx): Reports a payment received on a cross-border invoice. Report the invoice first, then report the payment for the day it was received. Only accepted for companies registered with VAT due on payment.
- [French B2Bi Payment Vat Breakdown](/reference/models/french-b2bi-payment-vat-breakdown.mdx): Received payment total for one VAT rate.
- [French Reporting Status](/reference/models/french-reporting-status.mdx)
- [French e-reporting registration](/reference/models/french-reporting-declarant.mdx)
- [Register French Reporting Declarant](/reference/models/register-french-reporting-declarant.mdx)

## Changelog

- [API path updated to /api/v1](/changelog/2025-11-25-api-path-v1.mdx): Standardized the public Peppol API under the /api/v1 path while keeping /api/peppol compatible.
- [Document detail page with generated document preview](/changelog/2025-11-28-document-detail-page.mdx): Added a rich document detail view in the dashboard, with HTML preview and PDF generation for transmitted documents.
- [Inline attachment previews for documents](/changelog/2025-12-01-attachments-and-previews.mdx): Added support for Peppol attachments in the Send Document UI, with inline previews for CSV, images, PDFs and text files on the document detail page.
- [Improved document validation](/changelog/2025-12-01-document-validation-support.mdx): Added Peppol document validation for transmitted documents, with per‑company enforcement and detailed error reporting in the dashboard.
- [Optional PDF and JSON attachments in notification emails](/changelog/2025-12-01-notification-attachments.mdx): Allow notification email addresses to receive auto-generated PDF and document.json attachments for incoming and outgoing documents.
- [More payment means options](/changelog/2025-12-02-payment-means.mdx): Added support for multiple Peppol payment means beyond credit transfer.
- [Peppol Test Network support for playgrounds](/changelog/2025-12-02-playground-test-network.mdx): Allow playground teams to connect to the Peppol Test Network for end‑to‑end testing with real Peppol participants.
- [Control PDF generation in document package downloads](/changelog/2025-12-03-download-package-generate-pdf.mdx): Added a generatePdf query parameter to the Download Document Package endpoint and wired it into the dashboard.
- [Filter companies by enterprise and VAT number](/changelog/2025-12-04-company-filters.mdx): Added enterpriseNumber and vatNumber filters to the Get Companies endpoint.
- [Line-level discounts and surcharges](/changelog/2025-12-04-line-discounts-surcharges.mdx): Added support for modeling Peppol line discounts and surcharges, including correct UBL mapping and totals.
- [Line IDs and notes in documents and previews](/changelog/2025-12-04-line-ids-and-notes.mdx): Added support for explicit line IDs and notes, with proper UBL mapping and PDF rendering.
- [Global VAT exemption reasons](/changelog/2025-12-07-vat-exemption-reasons.mdx): Added support for providing VAT exemption reasons at document level, used when calculating VAT subtotals.
- [Peppol message tracking information for outgoing documents](/changelog/2025-12-11-peppol-message-tracking.mdx): Added Peppol message ID, conversation ID, and received signal message tracking to sent documents.
- [Harvest Integration](/changelog/2025-12-12-harvest-integration.mdx): New integration with Harvest to automatically send invoices via Peppol from your Harvest account.
- [Filter documents on read status and date range](/changelog/2025-12-17-document-filtering-read-status-date-range.mdx): Added filtering capabilities for documents by read status and date range in the API and dashboard.
- [HTML and PDF rendering endpoint for document previews](/changelog/2025-12-17-document-preview-endpoint.mdx): New document rendering endpoint that returns HTML or PDF document previews.
- [Support for line document reference and additional item properties](/changelog/2025-12-17-line-document-reference-item-properties.mdx): Added support for document references and additional item properties on invoice, credit note and self billing document lines.
- [Support for sender and buyer contact information](/changelog/2025-12-17-sender-buyer-contact-information.mdx): Added support for email and phone number fields for sender and buyer parties in invoices and credit notes.
- [Bulk export support for documents](/changelog/2025-12-22-bulk-export-support.mdx): New bulk export feature that allows exporting multiple documents within a date range as a ZIP archive.
- [Peppol message tracking information for incoming documents](/changelog/2025-12-23-peppol-message-tracking-incoming.mdx): Added Peppol message ID and conversation ID tracking to received documents.
- [Native Message Level Response support](/changelog/2025-12-24-message-level-response-support.mdx): Added native support for sending and receiving Message Level Response documents via JSON.
- [Include generated PDF when sending documents](/changelog/2025-12-28-include-generated-pdf-when-sending.mdx): Added option to include a generated PDF attachment when sending documents via the API or dashboard.
- [XML file upload zone in Send Document](/changelog/2025-12-28-send-document-xml-upload-zone.mdx): Added an optional drag & drop XML upload zone to the dashboard Send Document page.
- [Skip default company setup during creation](/changelog/2025-12-29-skip-default-company-setup.mdx): Added skipDefaultCompanySetup option to company creation API to allow manual control over company identifier and document type setup.
- [Send Document now includes a billing preview and developer mode](/changelog/2025-12-31-send-document-preview-and-developer-mode.mdx): Improved the Send Document dashboard with a live billing preview and a developer mode for API-focused workflows.
- [Supporting data customers](/changelog/2025-12-31-supporting-data-customers.mdx): Added customer supporting data to manage customers and quickly auto-fill buyer information when sending documents.
- [Outgoing document validation now always enforced](/changelog/2026-01-02-outgoing-validation-always-enforced.mdx): Removed the option to disable outgoing document validation. All outgoing documents must now pass Peppol validation before being sent.
- [Improved document overview UX with saved preferences and extra columns](/changelog/2026-01-09-document-overview-saved-preferences-extra-columns.mdx): Document overview now saves your preferences and includes new optional columns for document numbers and totals.
- [Send documents without Peppol recipient](/changelog/2026-01-14-send-documents-without-recipient.mdx): You can now send invoices and credit notes via email to customers who aren't on the Peppol network, using the same API endpoint.
- [Email and phone number in company settings](/changelog/2026-01-20-company-email-phone.mdx): You can now add an email and phone number to your company settings, which will automatically appear on invoices and be used when auto-filling sender information.
- [Commodity classifications support](/changelog/2026-01-26-commodity-classifications-support.mdx): Added support for commodity classifications on invoice and credit note line items, enabling you to include product classification codes like HS codes, UNSPSC, serial numbers, and many others.
- [Order line reference support](/changelog/2026-01-26-order-line-reference-support.mdx): Added support for order line references on invoice and credit note line items, allowing you to link invoice lines back to specific purchase order lines.
- [Verify endpoint enrichment](/changelog/2026-02-02-verify-endpoint-enrichment.mdx): The verify recipient endpoint now returns supported document types with optional endpoint details and business card information.
- [Microsoft Business Central Integration Now Public](/changelog/2026-03-17-business-central-integration.mdx): The Recommand E-Document extension for Microsoft Dynamics 365 Business Central is now publicly available for sending and receiving Peppol e-invoices directly from Business Central.
- [Base Quantity Support for Line Items](/changelog/2026-03-24-base-quantity-support.mdx): Invoice and credit note line items now support a base quantity, allowing you to express prices that are based on a batch or pack rather than a single unit.
- [Explicit company verification required](/changelog/2026-04-02-company-verification.mdx): Companies must now be verified by an authorised representative before they can participate on the Peppol network. A new API endpoint and dashboard flow are available to initiate and complete verification.
- [Search documents by company name and document number](/changelog/2026-04-07-transmitted-document-search.mdx): The existing document search now matches sender and receiver names plus invoice or credit note numbers, making it easier to find billing documents in the API and dashboard.
- [Bulk actions on selected documents](/changelog/2026-04-21-bulk-document-actions.mdx): Select multiple transmitted documents in the dashboard to export them as a ZIP, assign a label, delete them, or mark them as read in one step.
- [Create webhook and email automations with rules](/changelog/2026-05-05-webhooks-and-rules.mdx): Added a new rule system for Peppol events, with dashboard support for webhooks and email actions, optional conditions, delivery tracking, and retry handling.
- [Team permission management](/changelog/2026-06-10-permission-management.mdx): Team members can now be granted or revoked specific permissions. The first permission, Manage Team, controls who can invite members, update team settings, and manage other members' access.
- [Select ranges of documents with shift-click](/changelog/2026-07-22-shift-click-document-selection.mdx): Hold shift while clicking a checkbox in the transmitted documents overview to select or deselect every document between it and your previous selection.
- [Verify webhooks with HMAC signatures](/changelog/2026-08-10-webhook-hmac-signatures.mdx): Webhook deliveries can now be signed with an optional secret and verified through the X-Signature header.
- [Outgoing documents pick a format the recipient accepts](/changelog/2026-08-28-automatic-document-format-routing.mdx): When you send a JSON document without naming a document type identifier, Recommand now looks up the recipient and writes it in the first format they are registered to receive.
- [Dashboard available in Dutch, French and German](/changelog/2026-08-28-dashboard-languages.mdx): The whole dashboard, including onboarding, sending, document overviews and company verification, is now translated into Dutch, French and German next to English.
- [Check document support per process](/changelog/2026-08-28-document-support-process-check.mdx): The verify document support endpoint now accepts a process identifier.
- [French regulated invoicing support](/changelog/2026-08-28-france-regulated-invoicing.mdx): Companies in France can now send and receive invoices and credit notes in the French UBL, CII and Factur-X formats, over both the regulated and non-regulated Peppol processes.
- [French invoice lifecycle statuses (CDAR)](/changelog/2026-08-28-french-invoicing-cdar.mdx): A new frenchInvoicingCdar document type lets you send and receive French invoice lifecycle statuses, such as received, approved, refused, or paid.
- [Generate XML without sending](/changelog/2026-08-28-generate-xml-endpoint.mdx): A new endpoint returns the exact XML document that would be sent for a given payload, fully validated, without transmitting, storing, or billing it.
- [French e-reporting for B2C and cross-border sales](/changelog/2026-09-08-french-e-reporting.mdx): Register a French company for e-reporting, submit its daily B2C totals and cross-border invoices, and follow each report until the tax administration has filed it.

## FAQ

- [How can I check if a company is active on the Peppol network?](/faq/addressing-and-delivery/how-can-i-check-if-a-company-is-active-on-peppol.mdx)
- [How does Peppol know where to route my invoice?](/faq/addressing-and-delivery/how-does-peppol-know-where-to-route-my-invoice.mdx)
- [What is a GLN and when should I use it?](/faq/addressing-and-delivery/what-is-a-gln-and-when-should-i-use-it.mdx)
- [What is a Peppol Access Point?](/faq/addressing-and-delivery/what-is-a-peppol-access-point.mdx)
- [Why do companies register only as recipients?](/faq/addressing-and-delivery/why-do-companies-register-only-as-recipients.mdx)
- [Can I add an email address to my invoices?](/faq/api-and-development/can-i-add-an-email-address-to-my-invoices.mdx)
- [Can I send an XML document directly via the API?](/faq/api-and-development/can-i-send-an-xml-document-directly-via-the-api.mdx)
- [Can I view logs of sent documents?](/faq/api-and-development/can-i-view-logs-of-sent-documents.mdx)
- [How can I download my sent or received documents?](/faq/api-and-development/how-can-i-download-my-documents.mdx)
- [How can I see feedback when a document is rejected by the recipient?](/faq/api-and-development/how-can-i-see-feedback-when-a-document-is-rejected.mdx)
- [How can I test without sending real invoices?](/faq/api-and-development/how-can-i-test-without-sending-real-invoices.mdx)
- [How do I add a structured reference (OGM) correctly?](/faq/api-and-development/how-do-i-add-a-structured-reference-ogm.mdx)
- [How do I use the Playground environment?](/faq/api-and-development/how-do-i-use-the-playground-environment.mdx)
- [Must I register recipients in my team first to be able to send?](/faq/api-and-development/must-i-register-recipients-in-my-team-to-send.mdx)
- [What is the correct format for a Peppol address?](/faq/api-and-development/what-is-the-correct-format-for-a-peppol-address.mdx)
- [What is the difference between production and playground?](/faq/api-and-development/what-is-the-difference-between-production-and-playground.mdx)
- [Can a company use multiple Peppol Access Points?](/faq/general-usage/can-a-company-use-multiple-access-points.mdx)
- [Can I manage multiple customers within one account?](/faq/general-usage/can-i-manage-multiple-customers-in-one-account.mdx)
- [Can I see if my invoice was read?](/faq/general-usage/can-i-see-if-my-invoice-was-read.mdx)
- [Can I use Recommand for sending only or also for receiving?](/faq/general-usage/can-i-use-recommand-for-sending-only-or-also-receiving.mdx)
- [Can I whitelabel integrate Recommand into my own software?](/faq/general-usage/can-i-whitelabel-integrate-recommand.mdx)
- [How do I get started with Recommand?](/faq/general-usage/how-do-i-get-started-with-recommand.mdx)
- [How does the Recommand API work?](/faq/general-usage/how-does-the-recommand-api-work.mdx)
- [How long does it take for an invoice to reach the recipient?](/faq/general-usage/how-long-does-delivery-take.mdx)
- [Is pricing per company or per team?](/faq/general-usage/is-pricing-per-company-or-per-team.mdx)
- [Is support included?](/faq/general-usage/is-support-included.mdx)
- [Must I register as a receiver to receive Peppol invoices?](/faq/general-usage/must-i-register-as-receiver-to-receive-peppol-invoices.mdx)
- [What counts as a document?](/faq/general-usage/what-counts-as-a-document.mdx)
- [What is Recommand and what can I use it for?](/faq/general-usage/what-is-recommand.mdx)
- [Where can I get help?](/faq/general-usage/where-can-i-get-help.mdx)
- [Does the government automatically receive documents sent over Peppol?](/faq/peppol-basics/does-the-government-receive-documents-sent-over-peppol.mdx)
- [What is Peppol?](/faq/peppol-basics/what-is-peppol.mdx)
- [Which documents can be sent over the Peppol network?](/faq/peppol-basics/which-documents-are-supported-on-peppol.mdx)
- [Are documents sent via Peppol publicly visible?](/faq/security-and-certification/are-documents-on-peppol-publicly-visible.mdx)
- [Is Peppol more secure than email?](/faq/security-and-certification/is-peppol-more-secure-than-email.mdx)
- [Is Recommand secure and certified?](/faq/security-and-certification/is-recommand-secure-and-certified.mdx)
- [Can I upload my own UBL XML?](/faq/sending-and-error-handling/can-i-upload-my-own-ubl-xml.mdx)
- [What happens after an invoice is successfully delivered?](/faq/sending-and-error-handling/what-happens-after-an-invoice-is-delivered.mdx)
- [What if I don't switch to Peppol by 2026 as a Belgian company?](/faq/sending-and-error-handling/what-if-i-dont-switch-to-peppol-by-2026.mdx)
- [What happens if the recipient is unreachable?](/faq/sending-and-error-handling/what-if-the-recipient-is-unreachable.mdx)
- [What is the difference between an e-invoice and a PDF invoice?](/faq/sending-and-error-handling/what-is-the-difference-between-an-e-invoice-and-a-pdf-invoice.mdx)
- [Do I need to report B2C sales in France?](/faq/vat-and-accounting/do-i-need-to-report-b2c-sales-in-france.mdx)
- [What is self-billing and how does it work?](/faq/vat-and-accounting/what-is-self-billing.mdx)
- [Which VAT codes do I use?](/faq/vat-and-accounting/which-vat-codes-do-i-use.mdx)

## Optional

- [Full documentation](/llms-full.txt): Single-file markdown snapshot of all documentation pages. Use this when a larger context window is acceptable.