get_invoice_types_be
Retrieve supported Belgian e-invoice document types including invoice, credit note, and debit note with their UBL customizationID and profileID values for Peppol BIS Billing 3.0 and PINT-BE profiles.
Instructions
Return the supported Belgian e-invoice document types.
Includes invoice (380), credit note (381), and debit note (383) with their
UBL customizationID and profileID values for each supported profile
(Peppol BIS Billing 3.0 and PINT-BE).
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||
Implementation Reference
- The handler/execution function for the 'get_invoice_types_be' tool. Returns the supported Belgian e-invoice document types (380, 381, 383) with their Peppol BIS Billing 3.0 and PINT-BE profile information, sourced from the INVOICE_TYPES constant.
async def get_invoice_types_be() -> dict[str, object]: """Return the supported Belgian e-invoice document types. Includes invoice (380), credit note (381), and debit note (383) with their UBL ``customizationID`` and ``profileID`` values for each supported profile (Peppol BIS Billing 3.0 and PINT-BE). """ return {"invoice_types": INVOICE_TYPES} - INVOICE_TYPES constant defining the supported document types (380 Invoice, 381 Credit note, 383 Debit note) with multilingual names and associated profiles (peppol-bis-3 and pint-be), each having customization_id and profile_id values. This is the data returned by the handler.
# Supported Belgian e-invoice document types INVOICE_TYPES: list[dict[str, object]] = [ { "code": "380", "name": "Invoice", "name_fr": "Facture", "name_nl": "Factuur", "profiles": { "peppol-bis-3": { "customization_id": CUSTOMIZATION_IDS["peppol-bis-3"], "profile_id": PROFILE_IDS["peppol-bis-3"], }, "pint-be": { "customization_id": CUSTOMIZATION_IDS["pint-be"], "profile_id": PROFILE_IDS["pint-be"], }, }, }, { "code": "381", "name": "Credit note", "name_fr": "Note de crédit", "name_nl": "Creditnota", "profiles": { "peppol-bis-3": { "customization_id": CUSTOMIZATION_IDS["peppol-bis-3"], "profile_id": PROFILE_IDS["peppol-bis-3"], }, "pint-be": { "customization_id": CUSTOMIZATION_IDS["pint-be"], "profile_id": PROFILE_IDS["pint-be"], }, }, }, { "code": "383", "name": "Debit note", "name_fr": "Note de débit", "name_nl": "Debietnota", "profiles": { "peppol-bis-3": { "customization_id": CUSTOMIZATION_IDS["peppol-bis-3"], "profile_id": PROFILE_IDS["peppol-bis-3"], }, }, }, ] - src/mcp_einvoicing_be/server.py:28-28 (registration)Registration of 'get_invoice_types_be' as an MCP tool via mcp.tool() decorator, making it available as a callable tool on the MCP server.
mcp.tool()(get_invoice_types_be) - src/mcp_einvoicing_be/server.py:8-12 (registration)Import of get_invoice_types_be from the lookup module into the server entry point for registration.
from mcp_einvoicing_be.tools.lookup import ( check_peppol_participant_be, get_invoice_types_be, lookup_vat_be, ) - CUSTOMIZATION_IDS and PROFILE_IDS constants used as building blocks for the INVOICE_TYPES data structure. These define the UBL customizationID (BT-24) and profileID (BT-23) values for each profile.
CUSTOMIZATION_IDS: dict[str, str] = { "peppol-bis-3": ("urn:cen.eu:en16931:2017#compliant#urn:fdc:peppol.eu:2017:poacc:billing:3.0"), "pint-be": ( "urn:cen.eu:en16931:2017#compliant#urn:fdc:peppol.eu:2017:poacc:billing:3.0" "#conformant#urn:fdc:www.nbb.be:2020:pintbe" ), } # UBL profileID values (BT-23) PROFILE_IDS: dict[str, str] = { "peppol-bis-3": "urn:fdc:peppol.eu:2017:poacc:billing:01:1.0", "pint-be": "urn:fdc:peppol.eu:2017:poacc:billing:01:1.0", }