Skip to main content

XML overview

Structured XML invoices come in several standard flavors, each with its own schema, envelope, and conventions. Nuntiq's inbound framework ships a global format template for each supported dialect.

Available shapes

  • Generic XML Invoice — A vendor-neutral XML invoice shape covering the fields most senders carry (header, parties, addresses, payment, lines, taxes, charges, discounts). Use it as a starting point for any custom XML dialect whose structure roughly matches. Notable conventions: dates are split across YEAR, MONTH, and DAY elements and assembled at extract time; amounts carry their sign as part of the value (-25.00), not as a separate attribute.

Additional shapes (UBL 2.1, CII / Factur-X, XRechnung, custom sender XML) are seeded in the platform's global template catalog and are documented elsewhere; expect them here in a future release.

Common patterns

All XML seeds share the same structural conventions:

  • XPath 3.1 locators. Loops carry an xpath selector; fields carry a string locator that can include XPath functions (concat(), number(), if/then/else, etc.).
  • 1:1 scope loops (recordType: none with a scopeTarget) for supplier, customer, bill-to, ship-to, remit-to, vendor, and payment blocks. Each such loop navigates once into its own subtree; child fields reference that subtree via ./....
  • 1:many detail loops for line items, tax details, charges, and discounts. Each iteration creates one record of the corresponding type.
  • Dates in canonical form. Every date field carries a dateFormat transform (typically YYYY-MM-DD) so the extracted string parses regardless of source shape.