VAT & Israeli compliance
The API never sets the VAT rate or chooses a forbidden document type — the same tax rules the dashboard enforces apply here.
The public API is a thin layer over the exact same services the VUZ dashboard uses for VAT, document-type permissions, numbering, and the allocation-number gate. Nothing here is reimplemented or relaxed for API callers — a document created via the API is indistinguishable from one typed in the UI.
The VAT rate is always server-resolved
Never send a VAT rate expecting VUZ to use it as-is. The current rate is read from the
vat_rates table (default 18%, effective since January 2025) and applied by the
server; VUZ recomputes and validates every lineVatTotal/vatTotal/grandTotal you
send, ±0.01 tolerance. Read your business's live rate via GET /businesses/current
(vatRate field) — see Concepts → Business.
Which document types your business type may issue
| Document | עוסק פטור | עוסק מורשה | חברה בע"מ |
|---|---|---|---|
receipt, quote, order, delivery_note, deal_bill, work_order | ✅ | ✅ | ✅ |
tax_invoice, tax_invoice_receipt, credit_note (VAT documents) | ❌ | ✅ | ✅ |
An עוסק פטור business is VAT-exempt by law and cannot issue any of the three VAT
document types — attempting to costs you a 400. Its equivalent to "send an invoice" is
deal_bill (חשבון עסקה), which carries no VAT.
Immutability & corrections
A finalized document cannot be edited — there is no PUT on an issued document, by design
(this is a statutory requirement, not an API limitation). The only correction path is a
credit_note referencing the original — see Concepts → Documents.
The allocation number (מספר הקצאה)
Above a Tax-Authority-set pre-VAT threshold, a B2B tax invoice needs an allocation number from SHAAM before it can be finalized. This gate fires transparently on the same finalize step the dashboard uses — the public API does not (and cannot) bypass it, and currently does not expose the finalize step itself (see the Documents warning).

