Skip to main content
Markdown

Invoices

Workist XML​

File extension: .xml
File name: <UUID>.xml

The default format for invoices. Header data sits directly below invoice, followed by payment (payment details), summary (amounts) and line_items (line items).

Unlike orders and requests for quotation, Workist writes every configured header, payment, summary and line item field, even when it is empty (e.g. <contract_number />). The payment, summary and line_items blocks are always present. Address and supplier blocks only contain filled fields.

Dates have the format YYYY-MM-DD. Decimal numbers use a decimal comma without trailing zeros by default (1487,5), see Date and number formats. The options Include reference to the analyzed file, Include link to the Workbench, Include email sender information and Use short external file name have no effect for invoices.

Full example​

<?xml version="1.0" encoding="utf-8"?>
<invoice>
<invoice_number>INV-2025-0042</invoice_number>
<order_number>PO-2025-0001</order_number>
<contract_number />
<delivery_note_number>DN-2025-300</delivery_note_number>
<invoice_date>2025-03-20</invoice_date>
<invoice_due_date>2025-04-19</invoice_due_date>
<delivery_date>2025-03-15</delivery_date>
<document_type>Invoice</document_type>
<recipient_address>
<Code>RCPT-001</Code>
<name>Accounts Payable</name>
<street_and_nr>Hauptstrasse 42</street_and_nr>
<misc>Building A</misc>
<company_name>Acme Corp GmbH</company_name>
<postcode>80331</postcode>
<city>Munich</city>
<country>DE</country>
<country_subdivision>BY</country_subdivision>
<email>invoices@acme.de</email>
<phone>+49 89 12345678</phone>
</recipient_address>
<sender_supplier>
<address>
<name>Best Supplier GmbH</name>
<street_and_nr>Lieferantenweg 10</street_and_nr>
<postcode>20095</postcode>
<city>Hamburg</city>
<country>DE</country>
<email>info@bestsupplier.de</email>
<phone>+49 40 99999999</phone>
</address>
<name>Best Supplier GmbH</name>
<misc>Werk Nord</misc>
<customer_number>SUP-500</customer_number>
<customer_type>preferred</customer_type>
<contact_person>Hans Mueller</contact_person>
<vat_id>DE987654321</vat_id>
<internal_note>Pay only after goods receipt</internal_note>
</sender_supplier>
<sender_vat_id>DE987654321</sender_vat_id>
<sender_tax_number>143/123/45678</sender_tax_number>
<sender_contact>
<contact_id>SC-001</contact_id>
<name>Hans Mueller</name>
<email>hans@bestsupplier.de</email>
<phone>+49 40 88888888</phone>
</sender_contact>
<Info_Text>Payment due within 30 days.</Info_Text>
<payment>
<payment_bank>Deutsche Bank AG</payment_bank>
<payment_bic>DEUTDEFF</payment_bic>
<payment_iban>DE89370400440532013000</payment_iban>
<payment_method>SEPA credit transfer</payment_method>
<payment_reference>INV-2025-0042</payment_reference>
<payment_swift>DEUTDEFF</payment_swift>
<payment_terms_discount>2% within 10 days</payment_terms_discount>
<payment_terms_due_days>30</payment_terms_due_days>
<payment_terms_type>net</payment_terms_type>
<payment_terms>Net 30 days</payment_terms>
</payment>
<summary>
<currency>EUR</currency>
<net_amount>1250</net_amount>
<tax_rate>19</tax_rate>
<tax_amount>237,5</tax_amount>
<total_amount>1487,5</total_amount>
<total_due>1487,5</total_due>
</summary>
<line_items>
<line_item>
<pos>10</pos>
<article_id1>ART-001-A</article_id1>
<article_id2>ART-001-A-ALT</article_id2>
<article_id3>4006381333931</article_id3>
<article_partition_specific_number>SUP-ART-777</article_partition_specific_number>
<article_description>Industrial Sensor Module Type A</article_description>
<quantity>100</quantity>
<unit>PCE</unit>
<unit_price>12,5</unit_price>
<total_price>1250</total_price>
<gross_price />
<price_unit>1</price_unit>
<tax_rate>19</tax_rate>
<tax_amount>237,5</tax_amount>
</line_item>
</line_items>
</invoice>

Header fields​

ElementTypeDescription
invoice_numberTextInvoice number
order_numberTextOrder number the invoice refers to
contract_numberTextContract number
delivery_note_numberTextDelivery note number
invoice_dateDateInvoice date
invoice_due_dateDateDue date
delivery_dateDateDelivery or service date
document_typeTextDocument type as free text, as recognised. For e-invoices (ZUGFeRD, XRechnung) Invoice or Credit Note
recipient_addressBlockInvoice recipient; fields see Address fields
sender_supplierBlockInvoicing party, filled from your supplier master data
sender_supplier/addressBlockSupplier address; fields see Address fields
sender_supplier/nameTextSupplier name
sender_supplier/miscTextAdditional information from the supplier master data (misc)
sender_supplier/customer_numberTextSupplier number
sender_supplier/customer_typeTextType from the master data
sender_supplier/contact_personTextContact person from the master data
sender_supplier/vat_idTextVAT ID from the master data
sender_supplier/internal_noteTextInternal note from your master data (internal_note)
sender_vat_idTextSupplier's VAT ID as stated on the invoice
sender_tax_numberTextSupplier's tax number
sender_contactBlockContact person at the supplier
sender_contact/contact_idTextNumber of the contact person
sender_contact/nameTextName of the contact person
sender_contact/emailTextContact person's email address
sender_contact/phoneTextContact person's phone number
Info_TextTextFree text. Workist splits it into chunks of 70 characters, one element per chunk, at most 5 elements; anything beyond is dropped

Address fields​

recipient_address and sender_supplier/address share this structure. Workist only writes filled fields.

ElementTypeDescription
CodeTextAddress number from your master data
nameTextName
street_and_nrTextStreet and house number
miscTextAdditional address line
company_nameTextCompany name
postcodeTextPostcode
cityTextCity
countryTextCountry code (e.g. DE)
country_subdivisionTextState or region code
emailTextEmail address
phoneTextPhone number

Payment fields (payment)​

ElementTypeDescription
payment_bankTextBank name
payment_bicTextBIC
payment_ibanTextIBAN
payment_methodTextPayment method as free text; for e-invoices the label of the payment means code (e.g. SEPA credit transfer)
payment_referenceTextPayment reference
payment_swiftTextSWIFT code
payment_terms_discountTextEarly payment discount terms
payment_terms_due_daysTextPayment term in days
payment_terms_typeTextType of payment terms
payment_termsTextPayment terms as written

Summary fields (summary)​

ElementTypeDescription
currencyTextCurrency code (e.g. EUR)
net_amountDecimalNet amount
tax_rateDecimalTax rate in percent
tax_amountDecimalTax amount
total_amountDecimalGross amount
total_dueDecimalAmount due

Line item fields (line_items/line_item)​

Workist writes one line_item per line item, provided at least one line item field is configured.

ElementTypeDescription
posTextLine number
article_id1TextYour article number (article_id1 from your article master data)
article_id2TextSecond article number (article_id2)
article_id3TextThird article number (article_id3, e.g. EAN)
article_partition_specific_numberTextThe supplier's article number
article_descriptionTextArticle description
quantityDecimalQuantity
unitTextUnit of measure
unit_priceDecimalUnit price
total_priceDecimalLine total
gross_priceDecimalGross price from your article master data (gross_price)
price_unitTextPrice unit (e.g. 1 or 100)
tax_rateDecimalTax rate of the line
tax_amountDecimalTax amount of the line