# Invoices

## Workist XML {#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](/en/docs/output-formats.md#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
<?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

| Element | Type | Description |
|---|---|---|
| `invoice_number` | Text | Invoice number |
| `order_number` | Text | Order number the invoice refers to |
| `contract_number` | Text | Contract number |
| `delivery_note_number` | Text | Delivery note number |
| `invoice_date` | Date | Invoice date |
| `invoice_due_date` | Date | Due date |
| `delivery_date` | Date | Delivery or service date |
| `document_type` | Text | Document type as free text, as recognised. For e-invoices (ZUGFeRD, XRechnung) `Invoice` or `Credit Note` |
| `recipient_address` | Block | Invoice recipient; fields see [Address fields](#address-fields) |
| `sender_supplier` | Block | Invoicing party, filled from your supplier master data |
| `sender_supplier/address` | Block | Supplier address; fields see [Address fields](#address-fields) |
| `sender_supplier/name` | Text | Supplier name |
| `sender_supplier/misc` | Text | Additional information from the supplier master data (`misc`) |
| `sender_supplier/customer_number` | Text | Supplier number |
| `sender_supplier/customer_type` | Text | Type from the master data |
| `sender_supplier/contact_person` | Text | Contact person from the master data |
| `sender_supplier/vat_id` | Text | VAT ID from the master data |
| `sender_supplier/internal_note` | Text | Internal note from your master data (`internal_note`) |
| `sender_vat_id` | Text | Supplier's VAT ID as stated on the invoice |
| `sender_tax_number` | Text | Supplier's tax number |
| `sender_contact` | Block | Contact person at the supplier |
| `sender_contact/contact_id` | Text | Number of the contact person |
| `sender_contact/name` | Text | Name of the contact person |
| `sender_contact/email` | Text | Contact person's email address |
| `sender_contact/phone` | Text | Contact person's phone number |
| `Info_Text` | Text | Free text. Workist splits it into chunks of 70 characters, one element per chunk, at most 5 elements; anything beyond is dropped |

### Address fields {#address-fields}

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

| Element | Type | Description |
|---|---|---|
| `Code` | Text | Address number from your master data |
| `name` | Text | Name |
| `street_and_nr` | Text | Street and house number |
| `misc` | Text | Additional address line |
| `company_name` | Text | Company name |
| `postcode` | Text | Postcode |
| `city` | Text | City |
| `country` | Text | Country code (e.g. `DE`) |
| `country_subdivision` | Text | State or region code |
| `email` | Text | Email address |
| `phone` | Text | Phone number |

### Payment fields (`payment`)

| Element | Type | Description |
|---|---|---|
| `payment_bank` | Text | Bank name |
| `payment_bic` | Text | BIC |
| `payment_iban` | Text | IBAN |
| `payment_method` | Text | Payment method as free text; for e-invoices the label of the payment means code (e.g. `SEPA credit transfer`) |
| `payment_reference` | Text | Payment reference |
| `payment_swift` | Text | SWIFT code |
| `payment_terms_discount` | Text | Early payment discount terms |
| `payment_terms_due_days` | Text | Payment term in days |
| `payment_terms_type` | Text | Type of payment terms |
| `payment_terms` | Text | Payment terms as written |

### Summary fields (`summary`)

| Element | Type | Description |
|---|---|---|
| `currency` | Text | Currency code (e.g. `EUR`) |
| `net_amount` | Decimal | Net amount |
| `tax_rate` | Decimal | Tax rate in percent |
| `tax_amount` | Decimal | Tax amount |
| `total_amount` | Decimal | Gross amount |
| `total_due` | Decimal | Amount 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.

| Element | Type | Description |
|---|---|---|
| `pos` | Text | Line number |
| `article_id1` | Text | Your article number (`article_id1` from your article master data) |
| `article_id2` | Text | Second article number (`article_id2`) |
| `article_id3` | Text | Third article number (`article_id3`, e.g. EAN) |
| `article_partition_specific_number` | Text | The supplier's article number |
| `article_description` | Text | Article description |
| `quantity` | Decimal | Quantity |
| `unit` | Text | Unit of measure |
| `unit_price` | Decimal | Unit price |
| `total_price` | Decimal | Line total |
| `gross_price` | Decimal | Gross price from your article master data (`gross_price`) |
| `price_unit` | Text | Price unit (e.g. `1` or `100`) |
| `tax_rate` | Decimal | Tax rate of the line |
| `tax_amount` | Decimal | Tax amount of the line |
