submit_invoice
Report a Hungary invoice to NAV Online Számla 3.0 (számla adatszolgáltatás) — the national invoice-data reporting API of the Hungarian tax authority (NAV). This is REPORTING, not issuing: the merchant issues the actual invoice to the buyer; this tool submits the invoice data to NAV as legally required and returns a transactionId. Bring your own technical-user credentials via headers, all self-minted in the Online Számla web portal (onlineszamla.nav.gov.hu -> Technical users): x-nav-login, x-nav-password, x-nav-signkey, x-nav-exchangekey, x-nav-taxnumber (your 8-digit tax number). Runs against the NAV TEST environment by default (no legal effect); set header x-nav-mode: prod to report real invoices. The server exchanges a token, builds the InvoiceData XML, signs the request (SHA3-512), submits a CREATE operation, and returns the transactionId — then call query_transaction to read the processing result. Amounts are in HUF; each line carries a NET unit price and a Hungarian ÁFA (VAT) rate (27, 18, 5, or 0) — the server computes per-rate net/VAT and the invoice gross total.
Parameters15
| supplier_name | string | required | Supplier (seller) legal name — your company. The supplier tax number comes from the x-nav-taxnumber header. |
| supplier_postal_code | string | optional | Supplier address postal code (default 0000). |
| supplier_city | string | optional | Supplier address city (default Budapest). |
| supplier_address_line | string | optional | Supplier street address line (default "-"). |
| customer_name | string | required | Buyer legal name (or private person name). |
| customer_tax_number | string | optional | Buyer Hungarian tax number for B2B: 8 digits (core) or 11 digits (core+vatCode+countyCode, e.g. 12345678-2-41). Omit for a private person (customerVatStatus becomes PRIVATE_PERSON). |
| customer_postal_code | string | optional | Buyer address postal code (default 0000). |
| customer_city | string | optional | Buyer address city (default Budapest). |
| customer_address_line | string | optional | Buyer street address line (default "-"). |
| invoice_number | string | required | Your invoice number (számlaszám) exactly as issued to the buyer, e.g. 2026/00123. |
| issue_date | string | optional | Invoice issue date (kelt) YYYY-MM-DD. Defaults to today (UTC). |
| delivery_date | string | optional | Fulfilment date (teljesítés) YYYY-MM-DD. Defaults to the issue date. |
| currency | string | optional | ISO currency code. Default HUF (only HUF is supported in v0.1). |
| payment_method | string | optional | Payment method. Default TRANSFER. |
| items | array | required | Line items. Each: name, quantity, unit_net_price (HUF, per unit, NET/excl. VAT), vat_rate (27, 18, 5, or 0). |
Raw schema
{
"type": "object",
"properties": {
"supplier_name": {
"type": "string",
"description": "Supplier (seller) legal name — your company. The supplier tax number comes from the x-nav-taxnumber header."
},
"supplier_postal_code": {
"type": "string",
"description": "Supplier address postal code (default 0000)."
},
"supplier_city": {
"type": "string",
"description": "Supplier address city (default Budapest)."
},
"supplier_address_line": {
"type": "string",
"description": "Supplier street address line (default \"-\")."
},
"customer_name": {
"type": "string",
"description": "Buyer legal name (or private person name)."
},
"customer_tax_number": {
"type": "string",
"description": "Buyer Hungarian tax number for B2B: 8 digits (core) or 11 digits (core+vatCode+countyCode, e.g. 12345678-2-41). Omit for a private person (customerVatStatus becomes PRIVATE_PERSON)."
},
"customer_postal_code": {
"type": "string",
"description": "Buyer address postal code (default 0000)."
},
"customer_city": {
"type": "string",
"description": "Buyer address city (default Budapest)."
},
"customer_address_line": {
"type": "string",
"description": "Buyer street address line (default \"-\")."
},
"invoice_number": {
"type": "string",
"description": "Your invoice number (számlaszám) exactly as issued to the buyer, e.g. 2026/00123."
},
"issue_date": {
"type": "string",
"description": "Invoice issue date (kelt) YYYY-MM-DD. Defaults to today (UTC)."
},
"delivery_date": {
"type": "string",
"description": "Fulfilment date (teljesítés) YYYY-MM-DD. Defaults to the issue date."
},
"currency": {
"type": "string",
"description": "ISO currency code. Default HUF (only HUF is supported in v0.1)."
},
"payment_method": {
"type": "string",
"enum": [
"TRANSFER",
"CASH",
"CARD",
"VOUCHER",
"OTHER"
],
"description": "Payment method. Default TRANSFER."
},
"items": {
"type": "array",
"minItems": 1,
"description": "Line items. Each: name, quantity, unit_net_price (HUF, per unit, NET/excl. VAT), vat_rate (27, 18, 5, or 0).",
"items": {
"type": "object",
"properties": {
"name": {
"type": "string",
"description": "Item name (megnevezés)."
},
"quantity": {
"type": "number",
"description": "Quantity. Default 1."
},
"unit_net_price": {
"type": "number",
"description": "NET unit price in HUF (excludes ÁFA)."
},
"vat_rate": {
"type": "number",
"enum": [
27,
18,
5,
0
],
"description": "Hungarian ÁFA rate percent: 27 standard, 18 reduced, 5 reduced, 0 zero-rated."
}
},
"required": [
"name",
"unit_net_price",
"vat_rate"
]
}
}
},
"required": [
"supplier_name",
"customer_name",
"invoice_number",
"items"
]
}