tax_point_date | Sometimes described as defaulting to issue_date | No default; stored as null when omitted; omitted from UBL XML | Optional in UBL; IBR-141-AE when present (must be ≤ issue_date) |
document_number | Sometimes described as always required on create | Conditional — required only when auto-numbering is disabled | N/A |
issue_time | HH:mm:ss (GST) | Defaults to 00:00:00 when omitted | Matches PINT |
payment_means | Often documented as optional | Required unless deemed-supply flag (position 2) is 1 | Per PINT AE |
Summary / agent invoice_period / seller_supplier_party | Documented as required when flags set | Not fully enforced at API layer | Enforced at Peppol schematron (IBR-138-AE, IBR-137-AE) |
480 tax categories | Documented for out-of-scope invoices | Not enforced at API layer | Enforced at transmission (IBR-122-AE, IBR-151-AE) |
380 + VAT registration | Implied by business rules | No cross-check against business profile at API | Business rule from PINT AE |
Purchase invoice type 480 | May appear in older docs | API forces `389` (self-billed) only | Self-billing spec |
invoice_period partial dates | Both dates implied when object sent | Validator allows only start_date or only end_date; best practice is to send both | Peppol requires full period for summary invoices |
| Party overwrite | Sometimes "usually derived" | Always overwritten from {profileId} URL for the auto-derived party | By design |