create_invoice
Send a Belgium B2B electronic invoice over the Peppol network in Peppol BIS 3.0 / EN 16931 format via Storecove (a certified Peppol Access Point). Belgium mandates structured e-invoicing for domestic B2B from 2026-01-01 (grace period to 2026-03-31; near-real-time reporting follows in 2028). Builds the structured invoice JSON from seller + buyer (name, Belgian VAT BE0xxxxxxxxx and/or enterprise number, address) and line items (description, quantity, net unit price, VAT rate 21/12/6/0), computes the Belgian VAT breakdown, and submits it under YOUR OWN Storecove credentials. Bring your own credential as header x-storecove-key. You must also pass seller_legal_entity_id — the legalEntityId of the sender you created in your Storecove account. Belgian VAT rates: 21 (standard), 12, 6 (reduced), 0 (zero-rated/exempt/reverse charge). Amounts in EUR. Delivery over Peppol is asynchronous: this returns a submission guid — use get_delivery_evidence with it to fetch the delivery proof/status. Tip: call check_recipient first to confirm the buyer is reachable on Peppol. There is no cancel over Peppol: to reverse an invoice you issue a credit note (a new invoice).
Parameters24
| seller_legal_entity_id | string | required | REQUIRED. The Storecove legalEntityId of the sender (created in your Storecove account under Senders). Numeric id, passed through to Storecove. |
| seller_name | string | required | Seller legal/company name. |
| seller_vat | string | optional | Seller Belgian VAT number, format BE0xxxxxxxxx (BE + 10 digits). Provide this and/or seller_enterprise_number. |
| seller_enterprise_number | string | optional | Optional seller Belgian enterprise number (KBO/BCE), 10 digits (0xxxxxxxxx). |
| seller_address | string | required | Seller street address. |
| seller_city | string | required | Seller city. |
| seller_zip | string | required | Seller postal code. |
| seller_country | string | optional | Seller country code. Default BE. |
| customer_name | string | required | Buyer legal/company name. |
| customer_vat | string | optional | Buyer Belgian VAT number BE0xxxxxxxxx. Provide this and/or customer_enterprise_number (used to route on Peppol if no explicit recipient id is given). |
| customer_enterprise_number | string | optional | Optional buyer Belgian enterprise number (KBO/BCE), 10 digits. |
| customer_address | string | required | Buyer street address. |
| customer_city | string | required | Buyer city. |
| customer_zip | string | required | Buyer postal code. |
| customer_country | string | optional | Buyer country code. Default BE. |
| recipient_peppol_scheme | string | optional | Optional explicit Peppol routing scheme (EAS/ISO6523). Belgium: 0208 (enterprise number) or 9925 (VAT). Default 0208 when routing by enterprise number. |
| recipient_peppol_id | string | optional | Optional explicit Peppol participant identifier to route to (overrides deriving from the customer VAT/enterprise number). |
| recipient_email | string | optional | Optional email fallback — used if the recipient is not on Peppol (Storecove can email a copy). |
| invoice_number | string | optional | Invoice number. Auto-generated if omitted. |
| issue_date | string | optional | Invoice issue date, YYYY-MM-DD. Default: today (UTC). |
| due_date | string | optional | Optional payment due date, YYYY-MM-DD. |
| currency | string | optional | Document currency. Default EUR. |
| note | string | optional | Optional free-text note on the invoice. |
| lines | array | required | Invoice line items. Each: description, unit_price (net, VAT-exclusive, EUR), vat_rate (21|12|6|0), optional quantity (default 1), optional tax_category (S standard / Z zero-rated / E exempt / AE reverse charge; default S for rate>0, Z for rate 0), optional item_name. |
Raw schema
{
"type": "object",
"properties": {
"seller_legal_entity_id": {
"type": "string",
"description": "REQUIRED. The Storecove legalEntityId of the sender (created in your Storecove account under Senders). Numeric id, passed through to Storecove."
},
"seller_name": {
"type": "string",
"description": "Seller legal/company name."
},
"seller_vat": {
"type": "string",
"description": "Seller Belgian VAT number, format BE0xxxxxxxxx (BE + 10 digits). Provide this and/or seller_enterprise_number."
},
"seller_enterprise_number": {
"type": "string",
"description": "Optional seller Belgian enterprise number (KBO/BCE), 10 digits (0xxxxxxxxx)."
},
"seller_address": {
"type": "string",
"description": "Seller street address."
},
"seller_city": {
"type": "string",
"description": "Seller city."
},
"seller_zip": {
"type": "string",
"description": "Seller postal code."
},
"seller_country": {
"type": "string",
"description": "Seller country code. Default BE."
},
"customer_name": {
"type": "string",
"description": "Buyer legal/company name."
},
"customer_vat": {
"type": "string",
"description": "Buyer Belgian VAT number BE0xxxxxxxxx. Provide this and/or customer_enterprise_number (used to route on Peppol if no explicit recipient id is given)."
},
"customer_enterprise_number": {
"type": "string",
"description": "Optional buyer Belgian enterprise number (KBO/BCE), 10 digits."
},
"customer_address": {
"type": "string",
"description": "Buyer street address."
},
"customer_city": {
"type": "string",
"description": "Buyer city."
},
"customer_zip": {
"type": "string",
"description": "Buyer postal code."
},
"customer_country": {
"type": "string",
"description": "Buyer country code. Default BE."
},
"recipient_peppol_scheme": {
"type": "string",
"description": "Optional explicit Peppol routing scheme (EAS/ISO6523). Belgium: 0208 (enterprise number) or 9925 (VAT). Default 0208 when routing by enterprise number."
},
"recipient_peppol_id": {
"type": "string",
"description": "Optional explicit Peppol participant identifier to route to (overrides deriving from the customer VAT/enterprise number)."
},
"recipient_email": {
"type": "string",
"description": "Optional email fallback — used if the recipient is not on Peppol (Storecove can email a copy)."
},
"invoice_number": {
"type": "string",
"description": "Invoice number. Auto-generated if omitted."
},
"issue_date": {
"type": "string",
"description": "Invoice issue date, YYYY-MM-DD. Default: today (UTC)."
},
"due_date": {
"type": "string",
"description": "Optional payment due date, YYYY-MM-DD."
},
"currency": {
"type": "string",
"description": "Document currency. Default EUR."
},
"note": {
"type": "string",
"description": "Optional free-text note on the invoice."
},
"lines": {
"type": "array",
"minItems": 1,
"description": "Invoice line items. Each: description, unit_price (net, VAT-exclusive, EUR), vat_rate (21|12|6|0), optional quantity (default 1), optional tax_category (S standard / Z zero-rated / E exempt / AE reverse charge; default S for rate>0, Z for rate 0), optional item_name.",
"items": {
"type": "object",
"properties": {
"description": {
"type": "string",
"description": "Line description."
},
"unit_price": {
"type": "number",
"description": "Net unit price in EUR, VAT-exclusive."
},
"vat_rate": {
"type": "number",
"description": "Belgian VAT rate percent: 21 (standard), 12, 6 (reduced), or 0."
},
"quantity": {
"type": "number",
"description": "Quantity. Default 1."
},
"tax_category": {
"type": "string",
"description": "Optional EN 16931 tax category: S / Z / E / AE. Default derived from vat_rate."
},
"item_name": {
"type": "string",
"description": "Optional item name (defaults to description)."
}
},
"required": [
"description",
"unit_price",
"vat_rate"
]
}
}
},
"required": [
"seller_legal_entity_id",
"seller_name",
"seller_address",
"seller_city",
"seller_zip",
"customer_name",
"customer_address",
"customer_city",
"customer_zip",
"lines"
]
}