---
updatedAt: 2026-10-11T17:33:24.000Z
agentTools:
  projectIndex: https://developer.unimaze.com/llms.txt
---

# Send an invoice

Creates a `SubmitInvoice` business transaction from a metadata structure.

This call implements more flexible handling of document level discounts and charges and informative discounts on unit price than the [Send an invoice (v1)](https://developer.unimaze.com/reference/createsubmitinvoice) route.

<Callout icon="⚠️" theme="warn">
  **To successfully send in a document, the `supplier.identifier` must have an ISO identifier corresponding to the company logged in and issuing the document.**

  Either you were provided with the ISO identifier ([Business participant identifiers](https://developer.unimaze.com/docs/business-participant-identifiers)) or have it attached to your credentials here.

  <Accordion title="More information (click to expand)">
    Due to limitations of this documentation platform, to successfully create a document, you must fill in parameters in the request **Body Params** below (you must be logged in to see your identifiers):

    * You must replace `{{selfIdentifier}}` in node `supplier.identifier` with value **0196:1111118899** (or one corresponding to the logged in sender).
    * You must replace `{{otherIdentifier}}` nodes in `messageHandling.receiverIdentifier` and `customer.identifier` with value **0196:2222228899** or a value corresponding to the receiver of the document.
    * You can also replace `{{selfName}}` (**SenderIssuer Company**) and `{{otherName}}` (**Receiver Company**) where applicable.
  </Accordion>
</Callout>

The `more` parameter of the call informs the server whether additional document attachments are expected or not and then updates the message status. If no more documents will be added, the call sets the status of the message to `received`. Otherwise, the message remains open and the message status is `notset`. If your participant is configured for it, a message with the status `pending review` will be reviewed and fixed if the data input is consistent.

The following example contains the minimum JSON body required to create a valid invoice. These elements are mandatory.

```json
{
  "messageHandling": {
    "receiverIdentifier": "0196:2222228899",
    "fallbackEmailAddress": "buyer-example@unimaze.com"
  },
  "invoice": {
    "invoiceNo": "INV1234",
    "issueDate": "2019-05-26T10:15:42.774Z",
    "currencyCode": "ISK",
    "orderReference": {
      "documentNo": "ORD4512",
      "issueDate": "2019-05-14T15:11:45.344Z"
    },
    "supplier": {
      "name": "Test Party One",
      "identifier": "0196:1111118899",
      "vatNumber": "99123",
      "address": {
        "streetNameAndNumber": "42nd Street 1",
        "city": "New York",
        "postalZone": "10036",
        "countryCode": "US"
      }
    },
    "customer": {
      "name": "Test Party Two",
      "identifier": "0196:2222228899",
      "address": {
        "streetNameAndNumber": "14th Street 52",
        "city": "New York",
        "postalZone": "10011",
        "countryCode": "US"
      }
    },
    "invoiceLines": [
      {
        "itemNo": "A301",
        "name": "Product A",
        "quantity": 1,
        "unitOfMeasure": {
          "unit": "Kilogram"
        },
        "unitPriceAmount": 1000,
        "taxCategoryType": "StandardRated",
        "taxableAmount": 1000,
        "taxAmount": 240,
        "taxPercentage": 24
      }
    ]
  }
}
```

# OpenAPI definition

```json
{
  "openapi": "3.0.1",
  "info": {
    "title": "MAPI Billing v1.0",
    "description": "<p>\n  <img src=\"https://files.readme.io/a8b41579878c59e9773979bad07ed2937a4aeb67c1a217a34cffdcdda1e274a5-dev-docs-migration.png\"\n       alt=\"Dev Docs – Under Construction\"\n       width=\"420\"/>\n</p>\n\n## 🚧 Documentation has moved!\n\n|  |  |\n|---|---|\n| The MAPI documentation is now available on our new developer portal:<br><br>👉 **[https://developer.unimaze.com](https://developer.unimaze.com)** | • You’ll find up-to-date guides, authentication details, integration instructions, and client generation guidance there.<br><br>• This Swagger UI remains available for API exploration and testing, but the new developer portal is now the primary source of truth.<br><br>• The new site will provide a better Developer Experience for testing. |\n",
    "termsOfService": "https://www.unimaze.com/terms-of-use/",
    "contact": {
      "name": "Unimaze Software",
      "url": "https://www.unimaze.com",
      "email": "info@unimaze.com"
    },
    "license": {
      "name": "Unimaze Software",
      "url": "https://www.unimaze.com"
    },
    "version": "v1"
  },
  "servers": [
    {
      "url": "https://mapi-sandbox.unimaze.com",
      "description": "SANDBOX"
    },
    {
      "url": "https://mapi-dsp-uat.unimaze.com",
      "description": "UAT"
    },
    {
      "url": "https://mapi-partner-qa.unimaze.com",
      "description": "QA"
    }
  ],
  "paths": {
    "/api/v2/transactions/submit-invoice": {
      "post": {
        "tags": [
          "TransactionV2"
        ],
        "summary": "Send an invoice",
        "description": "Creates a `SubmitInvoice` business transaction from a metadata structure.",
        "operationId": "CreateSubmitInvoice2",
        "parameters": [
          {
            "name": "messageId",
            "in": "query",
            "description": "The identifier of the message in the format of a valid Universally unique identifier (GUID).",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "conversationIdentifier",
            "in": "query",
            "description": "The identifier of the conversation.\r\nUsed as a correlation identifier between different documents in the same business context, for example, between a credit note that was issued based on an invoice and that invoice.\r\n            \r\nIf not provided, it is generated automatically.\r\nIn that case, it includes the date when the message was sent, a random token, and the ISO identifier of the sender.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "more",
            "in": "query",
            "description": "Signals if the current document is the last document that the message is supposed to contain.\r\nIf that is true, the processing starts immediately.",
            "required": true,
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "processingMode",
            "in": "query",
            "description": "The way the transaction is processed.",
            "schema": {
              "$ref": "#/components/schemas/TransactionProcessingMode"
            }
          },
          {
            "name": "services",
            "in": "query",
            "description": "A list of [services](/docs/services) that the user specifies for additional message processing.",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          },
          {
            "name": "calculateTaxGroupsWithoutRounding",
            "in": "query",
            "description": "Whether the tax categories should be calculated by rounding each line tax amount",
            "schema": {
              "type": "boolean",
              "default": false
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/InvoiceMetadataInputV2"
              }
            },
            "application/xml": {
              "schema": {
                "$ref": "#/components/schemas/InvoiceMetadataInputV2"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Message validation result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ImportDocumentValidationData"
                  }
                }
              },
              "application/xml": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ImportDocumentValidationData"
                  }
                }
              }
            }
          },
          "201": {
            "description": "Message information",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/MessageOutput"
                },
                "example": {
                  "uniqueId": "d8fff066-a846-4861-a74c-37b055c5d387",
                  "timeReceived": "2026-10-08T13:44:43Z",
                  "documentNo": "INV19093078",
                  "status": "delivered",
                  "transfer": "outbound",
                  "validationStatus": "approved",
                  "importStatus": "NotSet",
                  "service": "urn:fdc:peppol.eu:2017:poacc:billing:01:1.0##PEPPOL-3.0-ENUBL",
                  "action": "SubmitInvoice",
                  "conversation": "261008:749235:KT:1111118899",
                  "referenceInformation": "72980 ISK",
                  "originParty": {
                    "identifier": "0196:1111118899",
                    "name": "Supplier Company"
                  },
                  "destinationParty": {
                    "identifier": "0196:2222228899",
                    "name": "Customer Company"
                  },
                  "documents": [
                    {
                      "index": 0,
                      "name": "Invoice",
                      "contentType": "text/xml",
                      "encoding": "utf-8",
                      "referenceId": "d8fff066a8464861a74c37b055c5d387:KT:1111118899:0:ae47dbywk",
                      "namespace": "urn:oasis:names:specification:ubl:schema:xsd:Invoice-2",
                      "attachmentType": "Core",
                      "isTransformed": false,
                      "transaction": {
                        "transactionKeyName": "BISENUBL-3.0 SubmitInvoice",
                        "profileIdentifier": "urn:fdc:peppol.eu:2017:poacc:billing:01:1.0",
                        "customizationIdentifier": "urn:cen.eu:en16931:2017#compliant#urn:fdc:peppol.eu:2017:poacc:billing:3.0",
                        "documentIdentifier": "urn:oasis:names:specification:ubl:schema:xsd:Invoice-2::Invoice##urn:cen.eu:en16931:2017#compliant#urn:fdc:peppol.eu:2017:poacc:billing:3.0::2.1"
                      }
                    },
                    {
                      "index": 1,
                      "name": "Timesheet",
                      "contentType": "application/pdf",
                      "encoding": "",
                      "referenceId": "d8fff066a8464861a74c37b055c5d387:KT:1111118899:1:kuh4nbge",
                      "namespace": "",
                      "attachmentType": "Attached",
                      "isTransformed": false
                    }
                  ]
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/MessageOutput"
                },
                "example": "<MessageOutput xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\">\r\n  <UniqueId>d8fff066-a846-4861-a74c-37b055c5d387</UniqueId>\r\n  <TimeReceived>2026-10-08T13:44:43.405823Z</TimeReceived>\r\n  <TimeDelivered xsi:nil=\"true\" />\r\n  <DocumentNo>INV19093078</DocumentNo>\r\n  <Status>delivered</Status>\r\n  <Transfer>outbound</Transfer>\r\n  <ValidationStatus>approved</ValidationStatus>\r\n  <ImportStatus>NotSet</ImportStatus>\r\n  <Service>urn:fdc:peppol.eu:2017:poacc:billing:01:1.0##PEPPOL-3.0-ENUBL</Service>\r\n  <Action>SubmitInvoice</Action>\r\n  <Conversation>261008:749235:KT:1111118899</Conversation>\r\n  <ReferenceInformation>72980 ISK</ReferenceInformation>\r\n  <OriginParty>\r\n    <Identifier>0196:1111118899</Identifier>\r\n    <Name>Supplier Company</Name>\r\n  </OriginParty>\r\n  <DestinationParty>\r\n    <Identifier>0196:2222228899</Identifier>\r\n    <Name>Customer Company</Name>\r\n  </DestinationParty>\r\n  <Documents>\r\n    <MessageAttachment>\r\n      <Index>0</Index>\r\n      <Name>Invoice</Name>\r\n      <ContentType>text/xml</ContentType>\r\n      <Encoding>utf-8</Encoding>\r\n      <ReferenceId>d8fff066a8464861a74c37b055c5d387:KT:1111118899:0:ae47dbywk</ReferenceId>\r\n      <Namespace>urn:oasis:names:specification:ubl:schema:xsd:Invoice-2</Namespace>\r\n      <AttachmentType>Core</AttachmentType>\r\n      <IsTransformed>false</IsTransformed>\r\n    </MessageAttachment>\r\n    <MessageAttachment>\r\n      <Index>1</Index>\r\n      <Name>Timesheet</Name>\r\n      <ContentType>application/pdf</ContentType>\r\n      <Encoding />\r\n      <ReferenceId>d8fff066a8464861a74c37b055c5d387:KT:1111118899:1:kuh4nbge</ReferenceId>\r\n      <Namespace />\r\n      <AttachmentType>Attached</AttachmentType>\r\n      <IsTransformed>false</IsTransformed>\r\n    </MessageAttachment>\r\n  </Documents>\r\n</MessageOutput>"
              }
            }
          },
          "400": {
            "description": "Invalid input parameters.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SimpleHttpErrorResult"
                },
                "example": {
                  "statusCode": "422",
                  "statusText": "UnprocessableEntity",
                  "message": "Message could not be processed. Missing lines."
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/SimpleHttpErrorResult"
                },
                "example": "<SimpleHttpErrorResult xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\">\r\n  <StatusCode>422</StatusCode>\r\n  <StatusText>UnprocessableEntity</StatusText>\r\n  <Message>Message could not be processed. Missing lines.</Message>\r\n</SimpleHttpErrorResult>"
              }
            }
          },
          "422": {
            "description": "The request was understood but could not be processed.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SimpleHttpErrorResult"
                },
                "example": {
                  "statusCode": "422",
                  "statusText": "UnprocessableEntity",
                  "message": "Message could not be processed. Missing lines."
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/SimpleHttpErrorResult"
                },
                "example": "<SimpleHttpErrorResult xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\">\r\n  <StatusCode>422</StatusCode>\r\n  <StatusText>UnprocessableEntity</StatusText>\r\n  <Message>Message could not be processed. Missing lines.</Message>\r\n</SimpleHttpErrorResult>"
              }
            }
          }
        }
      }
    }
  },
  "components": {
    "schemas": {
      "AddressMetadata": {
        "required": [
          "countryCode",
          "streetNameAndNumber"
        ],
        "type": "object",
        "properties": {
          "streetNameAndNumber": {
            "minLength": 1,
            "type": "string",
            "description": "The street name and number."
          },
          "addressLine2": {
            "minLength": 1,
            "type": "string",
            "description": "An additional address line, for example, `PO Box 351`.",
            "nullable": true
          },
          "addressLine3": {
            "minLength": 1,
            "type": "string",
            "description": "An additional address line, for example, `Building 23`.",
            "nullable": true
          },
          "city": {
            "minLength": 1,
            "type": "string",
            "description": "The name of the city.",
            "nullable": true
          },
          "postalZone": {
            "minLength": 1,
            "type": "string",
            "description": "The postal code.",
            "nullable": true
          },
          "countrySubEntity": {
            "minLength": 1,
            "type": "string",
            "description": "The subdivision of the country, for example, region, province, district, or state.",
            "nullable": true
          },
          "countryCode": {
            "minLength": 1,
            "type": "string",
            "description": "The country code.\r\nMust comply with the [ISO 3166 standard](https://www.iso.org/iso-3166-country-codes.html)."
          }
        },
        "additionalProperties": false,
        "description": "For more information on how to provide an address, see [Address information](#Address-information)."
      },
      "AttachmentTypeEnumOutput": {
        "enum": [
          "Core",
          "Embedded",
          "Attached",
          "External",
          "Original",
          "Unknown"
        ],
        "type": "string",
        "description": "Enumeration for attachment types."
      },
      "BillingDocumentReferenceMetadata": {
        "required": [
          "documentNo"
        ],
        "type": "object",
        "properties": {
          "documentNo": {
            "minLength": 1,
            "type": "string",
            "description": "The identifying number of the document."
          },
          "issueDate": {
            "type": "string",
            "description": "The issue date of the document.",
            "format": "date-time",
            "nullable": true
          },
          "documentType": {
            "$ref": "#/components/schemas/BillingDocumentType"
          }
        },
        "additionalProperties": false
      },
      "BillingDocumentReferenceMetadataCollection": {
        "type": "object",
        "properties": {
          "invoices": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/BillingDocumentReferenceMetadata"
            },
            "description": "A list of invoices related to the current business document.",
            "nullable": true
          },
          "creditNotes": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/BillingDocumentReferenceMetadata"
            },
            "description": "A list of credit notes related to the current business document.",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "References to preceding billing documents, invoices and credit notes."
      },
      "BillingDocumentType": {
        "enum": [
          "SelfBilledCreditNote",
          "PartialInvoice",
          "CommercialInvoice",
          "CorrectWithCredit",
          "DebitNote",
          "CorrectedInvoice",
          "PrepaymentInvoice",
          "SelfBilledInvoice",
          "CardTransactionReceipt"
        ],
        "type": "string"
      },
      "BillingLineMetadataV2": {
        "required": [
          "name",
          "quantity",
          "taxableAmount",
          "taxAmount",
          "taxCategoryType",
          "taxPercentage",
          "unitOfMeasure",
          "unitPriceAmount"
        ],
        "type": "object",
        "properties": {
          "itemNo": {
            "minLength": 1,
            "type": "string",
            "description": "The seller's item number.",
            "nullable": true
          },
          "name": {
            "minLength": 1,
            "type": "string",
            "description": "The name of the item."
          },
          "description": {
            "minLength": 1,
            "type": "string",
            "description": "A description of the item.",
            "nullable": true
          },
          "quantity": {
            "type": "number",
            "description": "The item quantity.",
            "format": "double"
          },
          "unitOfMeasure": {
            "$ref": "#/components/schemas/UnitOfMeasureMetadata"
          },
          "unitPriceAmount": {
            "type": "number",
            "description": "The net price of the item.",
            "format": "double"
          },
          "taxCategoryType": {
            "$ref": "#/components/schemas/TaxCategoryTypeEnum"
          },
          "taxCategoryName": {
            "type": "string",
            "description": "The VAT category name. Used for Croatia.",
            "nullable": true
          },
          "taxTypeScheme": {
            "$ref": "#/components/schemas/TaxTypeSchemeEnum"
          },
          "taxableAmount": {
            "type": "number",
            "description": "The total taxable amount calculated based on the specific VAT category.",
            "format": "double"
          },
          "taxAmount": {
            "type": "number",
            "description": "The total VAT amount for the given VAT category.",
            "format": "double"
          },
          "taxPercentage": {
            "type": "number",
            "description": "The VAT rate given as a percentage.",
            "format": "double"
          },
          "taxExemptionReasonCode": {
            "type": "string",
            "description": "The Tax Exemption Reason Code.",
            "nullable": true
          },
          "taxExemptionReason": {
            "type": "string",
            "description": "The Tax Exemption Reason explanation. Not used if no TaxExemptionReasonCode is stated",
            "nullable": true
          },
          "notes": {
            "minLength": 1,
            "type": "string",
            "description": "A text providing additional information regarding the document line.",
            "nullable": true
          },
          "accountingCost": {
            "minLength": 1,
            "type": "string",
            "description": "Information that indicates how the data should be recorded in the buyer's financial accounts.\r\n            \r\nThe buyer often provides the supplier with this information in a related order document or by similar means.\r\nIn no case shall this field be used for information not provided by the buyer.",
            "nullable": true
          },
          "billingPeriod": {
            "$ref": "#/components/schemas/PeriodMetadata"
          },
          "buyersItemNo": {
            "minLength": 1,
            "type": "string",
            "description": "The identifier that the buyer assigned to the item.",
            "nullable": true
          },
          "standardItemNo": {
            "minLength": 1,
            "type": "string",
            "description": "The identifier of the item registered in a standardized system, for example, the barcode of the item.",
            "nullable": true
          },
          "originCountryCode": {
            "minLength": 1,
            "type": "string",
            "description": "The country code designating the country where the item comes from.\r\nMust comply with the [ISO 3166 standard](https://www.iso.org/iso-3166-country-codes.html).",
            "nullable": true
          },
          "commodityClassification": {
            "$ref": "#/components/schemas/CommodityClassificationMetadata"
          },
          "additionalItemProperties": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/NameValuePair"
            },
            "description": "Defines a list of additional properties of the item.\r\nFor each property in the list, users declare the name of the property and its value, for example, `Color` and `blue`.",
            "nullable": true
          },
          "referenceIdentifiers": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ReferenceIdentifierMetadata"
            },
            "description": "Reference identifiers on line level.",
            "nullable": true
          },
          "orderLineReference": {
            "minLength": 1,
            "type": "string",
            "description": "The identifier of the relevant order line in the order that the buyer issued.",
            "nullable": true
          },
          "discounts": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/DiscountMetadata"
            },
            "nullable": true
          },
          "charges": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ChargeMetadata"
            },
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "CardEntryMode": {
        "enum": [
          "Manual",
          "Magstripe",
          "Chip",
          "Contactless",
          "Ecommerce",
          "Moto",
          "Stored"
        ],
        "type": "string"
      },
      "CardPaymentMetadata": {
        "required": [
          "cardNumber",
          "networkIdentifier"
        ],
        "type": "object",
        "properties": {
          "networkIdentifier": {
            "minLength": 1,
            "type": "string",
            "description": "Payment card network identifier, e.g. VISA, MasterCard."
          },
          "cardNumber": {
            "minLength": 1,
            "type": "string",
            "description": "Payment card number. Normally specified as the last 4 or 6 digits of the card number."
          },
          "holderName": {
            "minLength": 1,
            "type": "string",
            "description": "Name of payment card holder  (optional).",
            "nullable": true
          },
          "paymentIdentifier": {
            "minLength": 1,
            "type": "string",
            "description": "Payment identifier (optional).",
            "nullable": true
          },
          "entryMode": {
            "$ref": "#/components/schemas/CardEntryMode"
          }
        },
        "additionalProperties": false
      },
      "CashPaymentMetadata": {
        "type": "object",
        "properties": {
          "paymentIdentifier": {
            "minLength": 1,
            "type": "string",
            "description": "Payment identifier (optional).",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "ChargeMetadata": {
        "type": "object",
        "properties": {
          "baseAmount": {
            "type": "number",
            "description": "The base amount where the charge comes from",
            "format": "double",
            "nullable": true
          },
          "amount": {
            "type": "number",
            "description": "The amount of the charge",
            "format": "double",
            "nullable": true
          },
          "percentage": {
            "type": "number",
            "description": "The percentage of charge",
            "format": "double",
            "nullable": true
          },
          "reasonCode": {
            "$ref": "#/components/schemas/ChargeReasonEnum"
          },
          "reason": {
            "type": "string",
            "description": "The reason for the charge",
            "nullable": true
          },
          "taxCategoryType": {
            "$ref": "#/components/schemas/TaxCategoryTypeEnum"
          },
          "taxPercentage": {
            "type": "number",
            "description": "The VAT rate given as a percentage.",
            "format": "double",
            "nullable": true
          },
          "chargeType": {
            "$ref": "#/components/schemas/ChargeType"
          }
        },
        "additionalProperties": false
      },
      "ChargeReasonEnum": {
        "enum": [
          "Other",
          "Advertising",
          "Telecommunication",
          "TechnicalModification",
          "JobOrderProduction",
          "Outlays",
          "OffPremises",
          "AdditionalProcessing",
          "Attesting",
          "Acceptance",
          "RushDelivery",
          "SpecialConstruction",
          "AirportFacilities",
          "Concession",
          "CompulsoryStorage",
          "FuelRemoval",
          "IntoPlane",
          "Overtime",
          "Tooling",
          "Miscellaneous",
          "AdditionalPackaging",
          "Dunnage",
          "Containerisation",
          "CartonPacking",
          "HessianWrapped",
          "PolyethyleneWrapPacking",
          "MiscellaneousTreatment",
          "EnamellingTreatment",
          "HeatTreatment",
          "PlatingTreatment",
          "Painting",
          "Polishing",
          "Priming",
          "PreservationTreatment",
          "Fitting",
          "Consolidation",
          "BillOfLading",
          "Airbag",
          "Transfer",
          "Slipsheet",
          "Binding",
          "RepairOrReplacementOfBrokenReturnablePackage",
          "EfficientLogistics",
          "Merchandising",
          "ProductMix",
          "OtherServices",
          "PickUp",
          "ChronicIllness",
          "NewProductIntroduction",
          "DirectDelivery",
          "Diversion",
          "Disconnect",
          "Distribution",
          "HandlingOfHazardousCargo",
          "RentsAndLeases",
          "LocationDifferential",
          "AircraftRefueling",
          "FuelShippedIntoStorage",
          "CashOnDelivery",
          "SmallOrderProcessingService",
          "ClericalOrAdministrativeServices",
          "Guarantee",
          "CollectionAndRecycling",
          "CopyrightFeeCollection",
          "VeterinaryInspectionService",
          "PensionerService",
          "MedicineFreePassHolder",
          "EnvironmentalProtectionService",
          "EnvironmentalCleanUpService",
          "NationalChequeProcessingServiceOutsideAccountArea",
          "NationalPaymentServiceOutsideAccountArea",
          "NationalPaymentServiceWithinAccountArea",
          "Adjustments",
          "Authentication",
          "Cataloguing",
          "Cartage",
          "Certification",
          "CertificateOfConformance",
          "CertificateOfOrigin",
          "Cutting",
          "ConsularService",
          "CustomerCollection",
          "PayrollPaymentService",
          "CashTransportation",
          "HomeBankingService",
          "BilateralAgreementService",
          "InsuranceBrokerageService",
          "ChequeGeneration",
          "PreferentialMerchandisingLocation",
          "Crane",
          "SpecialColourService",
          "Sorting",
          "BatteryCollectionAndRecycling",
          "ProductTakeBackFee",
          "QualityControlReleased",
          "QualityControlHeld",
          "QualityControlEmbargo",
          "CarLoading",
          "Cleaning",
          "CigaretteStamping",
          "CountAndRecount",
          "LayoutOrDesign",
          "AssortmentAllowance",
          "DriverAssignedUnloading",
          "DebtorBound",
          "DealerAllowance",
          "AllowanceTransferableToTheConsumer",
          "GrowthOfBusiness",
          "IntroductionAllowance",
          "MultiBuyPromotion",
          "Partnership",
          "ReturnHandling",
          "MinimumOrderNotFulfilledCharge",
          "PointOfSalesThresholdAllowance",
          "WholesalingDiscount",
          "DocumentaryCreditsTransferCommission",
          "Delivery",
          "Engraving",
          "Expediting",
          "ExchangeRateGuarantee",
          "Fabrication",
          "FreightEqualization",
          "FreightExtraordinaryHandling",
          "FreightService",
          "FillingOrHandling",
          "Financing",
          "Grinding",
          "Hose",
          "Handling",
          "HoistingAndHauling",
          "Installation",
          "InstallationAndWarranty",
          "InsideDelivery",
          "Inspection",
          "InstallationAndTraining",
          "Invoicing",
          "Koshering",
          "CarrierCount",
          "Labelling",
          "Labour",
          "RepairAndReturn",
          "Legalisation",
          "Mounting",
          "MailInvoice",
          "MailInvoiceToEachLocation",
          "NonReturnableContainers",
          "OutsideCableConnectors",
          "InvoiceWithShipment",
          "PhosphatizingSteelTreatment",
          "Packing",
          "Palletizing",
          "Repacking",
          "Repair",
          "ReturnableContainer",
          "Restocking",
          "ReDelivery",
          "Refurbishing",
          "RailWagonHire",
          "Loading",
          "Salvaging",
          "ShippingAndHandling",
          "SpecialPackaging",
          "Stamping",
          "ConsigneeUnload",
          "ShrinkWrap",
          "SpecialHandling",
          "SpecialFinish",
          "SetUp",
          "TankRenting",
          "Testing",
          "TransportationThirdPartyBilling",
          "TransportationByVendor",
          "DropYard",
          "DropDock",
          "Warehousing",
          "CombineAllSameDayShipment",
          "SplitPickUp",
          "MutuallyAgreed"
        ],
        "type": "string"
      },
      "ChargeType": {
        "enum": [
          "LineCharge",
          "HeaderCharge"
        ],
        "type": "string"
      },
      "ClaimMetadata": {
        "required": [
          "accountNumber",
          "bankNumber"
        ],
        "type": "object",
        "properties": {
          "bankNumber": {
            "type": "integer",
            "description": "Bank number for the claim",
            "format": "int32"
          },
          "accountNumber": {
            "type": "integer",
            "description": "Account number for the claim",
            "format": "int64"
          }
        },
        "additionalProperties": false,
        "description": "Domestic claims in Iceland"
      },
      "CommodityClassificationMetadata": {
        "required": [
          "code",
          "type"
        ],
        "type": "object",
        "properties": {
          "type": {
            "$ref": "#/components/schemas/CommodityCodeType"
          },
          "code": {
            "minLength": 1,
            "type": "string",
            "description": "The item identifier.\r\nMust be consistent with the given classification system."
          }
        },
        "additionalProperties": false,
        "description": "Information on the item's commodity classification."
      },
      "CommodityCodeType": {
        "enum": [
          "Unspsc",
          "HarmonizedSystem",
          "CommonProcurementVocabulary",
          "CommodityGrouping"
        ],
        "type": "string"
      },
      "ContactMetadata": {
        "type": "object",
        "properties": {
          "identifier": {
            "type": "string",
            "description": "The ID of the contact person. Mandatory for Croatia, used as operator identifier (seller contact / invoice issuer [OIB]).",
            "nullable": true
          },
          "name": {
            "minLength": 1,
            "type": "string",
            "description": "The name of the contact person. In Croatia used as operator name (seller contact / invoice issuer).",
            "nullable": true
          },
          "electronicMail": {
            "minLength": 1,
            "type": "string",
            "description": "The email of the contact.",
            "nullable": true
          },
          "telephone": {
            "minLength": 1,
            "type": "string",
            "description": "The telephone number of the contact.",
            "nullable": true
          },
          "fax": {
            "minLength": 1,
            "type": "string",
            "description": "The fax number of the contact.",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "CreditTransferMetadata": {
        "required": [
          "accountNumber"
        ],
        "type": "object",
        "properties": {
          "paymentIdentifier": {
            "minLength": 1,
            "type": "string",
            "description": "Payment identifier",
            "nullable": true
          },
          "accountNumber": {
            "minLength": 1,
            "type": "string",
            "description": "Full account number"
          },
          "financialBranchIdentification": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "Credit transfer metadata"
      },
      "CroatianTransferMetadata": {
        "required": [
          "iban",
          "model",
          "referenceNumber"
        ],
        "type": "object",
        "properties": {
          "iban": {
            "minLength": 1,
            "type": "string"
          },
          "model": {
            "minLength": 1,
            "type": "string"
          },
          "referenceNumber": {
            "minLength": 1,
            "type": "string"
          }
        },
        "additionalProperties": false
      },
      "DebitTransferMetadata": {
        "required": [
          "accountNumber"
        ],
        "type": "object",
        "properties": {
          "paymentIdentifier": {
            "minLength": 1,
            "type": "string",
            "description": "Payment identifier",
            "nullable": true
          },
          "accountNumber": {
            "minLength": 1,
            "type": "string",
            "description": "Full account number"
          }
        },
        "additionalProperties": false,
        "description": "Debit transfer metadata"
      },
      "DeliveryMetadataWithActualDeliveryDate": {
        "type": "object",
        "properties": {
          "partyName": {
            "minLength": 1,
            "type": "string",
            "description": "The name of the business participant responsible for delivery.",
            "nullable": true
          },
          "locationIdentifier": {
            "minLength": 1,
            "type": "string",
            "description": "The delivery location identifier.",
            "nullable": true
          },
          "address": {
            "$ref": "#/components/schemas/AddressMetadata"
          },
          "actualDeliveryDate": {
            "type": "string",
            "description": "The date when the delivery was fulfilled.",
            "format": "date-time",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "Describes the delivery details."
      },
      "DiscountMetadata": {
        "type": "object",
        "properties": {
          "baseAmount": {
            "type": "number",
            "description": "The base amount where the discount comes from",
            "format": "double",
            "nullable": true
          },
          "amount": {
            "type": "number",
            "description": "The amount of the discount",
            "format": "double",
            "nullable": true
          },
          "percentage": {
            "type": "number",
            "description": "The percentage of discount",
            "format": "double",
            "nullable": true
          },
          "reasonCode": {
            "$ref": "#/components/schemas/DiscountReasonEnum"
          },
          "reason": {
            "type": "string",
            "description": "The reason for the discount",
            "nullable": true
          },
          "discountType": {
            "$ref": "#/components/schemas/DiscountType"
          },
          "taxCategoryType": {
            "$ref": "#/components/schemas/TaxCategoryTypeEnum"
          },
          "taxPercentage": {
            "type": "number",
            "description": "The VAT rate given as a percentage.",
            "format": "double",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "DiscountReasonEnum": {
        "enum": [
          "Other",
          "BonusForWorksAheadOfSchedule",
          "OtherBonus",
          "ManufacturerConsumerDiscount",
          "DueToMilitaryStatus",
          "DueToWorkAccident",
          "SpecialAgreement",
          "ProductionErrorDiscount",
          "NewOutletDiscount",
          "SampleDiscount",
          "EndOfRangeDiscount",
          "IncotermDiscount",
          "PointOfSalesThresholdAllowance",
          "MaterialSurchargeOrDeduction",
          "Discount",
          "SpecialRebate",
          "FixedLongTerm",
          "Temporary",
          "Standard",
          "YearlyTurnover"
        ],
        "type": "string"
      },
      "DiscountType": {
        "enum": [
          "LineDiscount",
          "LinePriceDiscount",
          "HeaderDiscount"
        ],
        "type": "string",
        "description": "The type of the discount\r\nHeaderDiscount is on document level\r\nLineDiscount is a line level discount that affects calculations\r\nPriceDiscount in general is a discount on the unit price, and is not used in calculations and there can only be one per line"
      },
      "DocumentDescriptionMetadata": {
        "required": [
          "identifier"
        ],
        "type": "object",
        "properties": {
          "identifier": {
            "minLength": 1,
            "type": "string",
            "description": "Identifier of the description, e.g. Scanned Document"
          },
          "description": {
            "type": "string",
            "description": "The description value, e.g. the name of the scanned document",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "An optional description for the document"
      },
      "DocumentReferenceMetadataCollection": {
        "type": "object",
        "properties": {
          "despatch": {
            "$ref": "#/components/schemas/MinimalDocumentReferenceMetadata"
          },
          "receipt": {
            "$ref": "#/components/schemas/MinimalDocumentReferenceMetadata"
          },
          "originator": {
            "$ref": "#/components/schemas/MinimalDocumentReferenceMetadata"
          },
          "contract": {
            "$ref": "#/components/schemas/MinimalDocumentReferenceMetadata"
          },
          "project": {
            "$ref": "#/components/schemas/MinimalDocumentReferenceMetadata"
          }
        },
        "additionalProperties": false,
        "description": "References to other business documents.\r\nWhile supported in BISENUBL documents, these might not be available in all document syntaxes."
      },
      "ExternalReferenceMetadata": {
        "required": [
          "identifier",
          "url"
        ],
        "type": "object",
        "properties": {
          "identifier": {
            "minLength": 1,
            "type": "string",
            "description": "Identifier of the external reference"
          },
          "url": {
            "minLength": 1,
            "type": "string",
            "description": "The URL (Uniform Resource Locator) that identifies where the external document is located. A means of locating the resource, including its primary access mechanism, e.g. http:// or ftp://"
          },
          "description": {
            "type": "string",
            "description": "An optional description for the external reference",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "A list of external references to documents"
      },
      "GeneralInternationalTransferMetadata": {
        "required": [
          "bicCode",
          "ibanAccountNumber"
        ],
        "type": "object",
        "properties": {
          "bicCode": {
            "minLength": 1,
            "type": "string",
            "description": "Bic code"
          },
          "ibanAccountNumber": {
            "minLength": 1,
            "type": "string",
            "description": "IBAN account number required for the swift transfer"
          },
          "paymentIdentifier": {
            "minLength": 1,
            "type": "string",
            "description": "Payment identifier",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "International transfer via Swift"
      },
      "ImportDocumentValidationData": {
        "type": "object",
        "properties": {
          "statusTypeKey": {
            "type": "string",
            "description": "",
            "nullable": true
          },
          "referenceKey": {
            "type": "string",
            "description": "",
            "nullable": true
          },
          "friendlyMessage": {
            "type": "string",
            "description": "",
            "nullable": true
          },
          "detailMessage": {
            "type": "string",
            "description": "",
            "nullable": true
          },
          "validationEntryStatusImageTag": {
            "type": "string",
            "description": "",
            "nullable": true
          },
          "validionEntryStatusDescription": {
            "type": "string",
            "description": "",
            "nullable": true
          },
          "locationPath": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": ""
      },
      "InvoiceMetadataInputV2": {
        "required": [
          "invoice",
          "messageHandling"
        ],
        "type": "object",
        "properties": {
          "messageHandling": {
            "$ref": "#/components/schemas/MessageHandlingMetadata"
          },
          "invoice": {
            "$ref": "#/components/schemas/InvoiceMetadataV2"
          },
          "version": {
            "type": "integer",
            "format": "int32"
          }
        },
        "additionalProperties": false,
        "description": "Metadata structure for creating a `SubmitInvoice` business transaction."
      },
      "InvoiceMetadataV2": {
        "required": [
          "currencyCode",
          "customer",
          "invoiceNo",
          "issueDate",
          "supplier"
        ],
        "type": "object",
        "properties": {
          "invoiceNo": {
            "minLength": 1,
            "type": "string",
            "description": "The invoice number."
          },
          "invoiceType": {
            "$ref": "#/components/schemas/BillingDocumentType"
          },
          "profileType": {
            "type": "string",
            "description": "Specific profile used, currently only used for Croatia: P1, P2, …, P12, P99:*.",
            "nullable": true
          },
          "issueDate": {
            "type": "string",
            "description": "The invoice issue date.",
            "format": "date-time"
          },
          "dueDate": {
            "type": "string",
            "description": "The invoice due date.",
            "format": "date-time",
            "nullable": true
          },
          "graceDate": {
            "type": "string",
            "description": "The invoice grace date.",
            "format": "date-time",
            "nullable": true
          },
          "currencyCode": {
            "minLength": 1,
            "type": "string",
            "description": "The currency code.\r\nMust comply with the [ISO 4217 standard](https://www.iso.org/iso-4217-currency-codes.html)."
          },
          "taxCurrencyCode": {
            "minLength": 1,
            "type": "string",
            "description": "Tax currency code.\r\n            \r\nOnly used if tax is in different currency than the document currency code.\r\n            \r\nMust specify TaxTotalAmount as well\r\n            \r\nMust comply with the [ISO 4217 standard](https://www.iso.org/iso-4217-currency-codes.html).",
            "nullable": true
          },
          "notes": {
            "minLength": 1,
            "type": "string",
            "description": "Invoice header notes.",
            "nullable": true
          },
          "accountingCost": {
            "minLength": 1,
            "type": "string",
            "description": "Information that indicates how the data should be recorded in the buyer's financial accounts. The buyer often provides the supplier with this information in a related order document or by similar means.\r\n            \r\nIn no case shall this field be used for information not provided by the buyer.",
            "nullable": true
          },
          "bookingCode": {
            "minLength": 1,
            "type": "string",
            "description": "The FJS booking code (AMZ-8181). When provided — e.g. from Expenser, where the accounting cost is never\r\nauthored directly — it is sent as the document's accounting cost, overwriting Unimaze.Common.Contracts.Metadata.InvoiceMetadataBase.AccountingCost.",
            "nullable": true
          },
          "buyerReference": {
            "minLength": 1,
            "type": "string",
            "description": "The reference requested to be used by the buyer (\"your reference\") when no order is associated with the invoice.\r\n            \r\nIn no case shall this field be used for information not provided by the buyer. This field can possibly be put into AccountingCost in technical specifications that do not support it",
            "nullable": true
          },
          "billingPeriod": {
            "$ref": "#/components/schemas/PeriodMetadata"
          },
          "orderReference": {
            "$ref": "#/components/schemas/MinimalDocumentReferenceMetadata"
          },
          "billingReferences": {
            "$ref": "#/components/schemas/BillingDocumentReferenceMetadataCollection"
          },
          "documentReferences": {
            "$ref": "#/components/schemas/DocumentReferenceMetadataCollection"
          },
          "documentDescriptions": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/DocumentDescriptionMetadata"
            },
            "description": "An optional list of descriptions for the document.",
            "nullable": true
          },
          "externalReferences": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ExternalReferenceMetadata"
            },
            "description": "A list of external references to documents",
            "nullable": true
          },
          "referenceIdentifiers": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ReferenceIdentifierMetadata"
            },
            "description": "Reference identifiers, used for booking information, on header level.",
            "nullable": true
          },
          "supplier": {
            "$ref": "#/components/schemas/PartyWithTaxInfoMetadata"
          },
          "customer": {
            "$ref": "#/components/schemas/PartyWithTaxInfoMetadata"
          },
          "payee": {
            "$ref": "#/components/schemas/PayeePartyMetadata"
          },
          "paymentTerms": {
            "$ref": "#/components/schemas/PaymentTermsMetadata"
          },
          "delivery": {
            "$ref": "#/components/schemas/DeliveryMetadataWithActualDeliveryDate"
          },
          "prepaidAmount": {
            "type": "number",
            "description": "The amount that has been paid in advance.\r\nIf not specified, the value assumed is 0.",
            "format": "double",
            "nullable": true
          },
          "payableAmount": {
            "type": "number",
            "description": "The amount that remains to be paid.\r\nIf specified, the sum of amounts indicated on the invoice lines must match this value.\r\nOtherwise, the payable amount is calculated automatically based on the header and line information.",
            "format": "double",
            "nullable": true
          },
          "payableRoundingAmount": {
            "type": "number",
            "description": "The amount added to the total invoice amount to round the payable amount.",
            "format": "double",
            "nullable": true
          },
          "taxTotalAmount": {
            "type": "number",
            "description": "The amount used if there is a separate tax currency code.",
            "format": "double",
            "nullable": true
          },
          "paymentMeans": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PaymentMeansMetadata"
            },
            "nullable": true
          },
          "discounts": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/DiscountMetadata"
            },
            "nullable": true
          },
          "charges": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ChargeMetadata"
            },
            "nullable": true
          },
          "invoiceLines": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/BillingLineMetadataV2"
            },
            "description": "Invoice lines.",
            "nullable": true
          },
          "taxPointDescription": {
            "$ref": "#/components/schemas/TaxPointDescriptionType"
          }
        },
        "additionalProperties": false,
        "description": "The metadata structure of an invoice."
      },
      "MessageAttachment": {
        "type": "object",
        "properties": {
          "index": {
            "type": "integer",
            "description": "The index number of the document.",
            "format": "int32"
          },
          "name": {
            "type": "string",
            "description": "The name of the document.",
            "nullable": true
          },
          "contentType": {
            "type": "string",
            "description": "The [media type](https://www.iana.org/assignments/media-types/media-types.xhtml) (MIME type) of the document.",
            "nullable": true
          },
          "encoding": {
            "type": "string",
            "description": "The encoding used in the document, if applicable.",
            "nullable": true
          },
          "referenceId": {
            "type": "string",
            "description": "The document reference identifier.\r\nUsed for viewing the document.",
            "nullable": true
          },
          "namespace": {
            "type": "string",
            "description": "The namespace of the document.\r\nUsed in XML documents.",
            "nullable": true
          },
          "attachmentType": {
            "$ref": "#/components/schemas/AttachmentTypeEnumOutput"
          },
          "isTransformed": {
            "type": "boolean",
            "description": "The value is `true` if the document has been transformed to another document specification."
          },
          "transaction": {
            "allOf": [
              {
                "$ref": "#/components/schemas/TransactionInfoOutput"
              }
            ],
            "description": "The transaction of the document: the profile, customization and document type identifiers of the standard it follows.\r\nSet on `Core` and `Original` documents, and left out for other documents and for documents without network identifiers, such as raw EDI.\r\nAfter a transformation, the `Original` document has the transaction it was received or sent in, and the transformed `Core` document has the transaction it was transformed to.",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "MessageBookingStatusEnum": {
        "enum": [
          "NotSet",
          "Pending",
          "Imported"
        ],
        "type": "string"
      },
      "MessageHandlingMetadata": {
        "required": [
          "fallbackEmailAddress",
          "receiverIdentifier"
        ],
        "type": "object",
        "properties": {
          "fallbackContactName": {
            "minLength": 1,
            "type": "string",
            "description": "The contact name of the fallback receiver.\r\nOptional but recommended.",
            "nullable": true
          },
          "desiredDisplayLanguage": {
            "minLength": 1,
            "type": "string",
            "description": "The desired display language of the business document.\r\nOptional.",
            "nullable": true
          },
          "sector": {
            "$ref": "#/components/schemas/MessageHandlingSector"
          },
          "referencedDocumentIssuerIdentifier": {
            "type": "string",
            "description": "Internal use only. On a tax-handling action message (e.g. register rejection / register payment)\r\nraised without a reference to an existing document message, this carries the identifier of the\r\nreferenced document's issuer, so the document can be correlated (best effort) once the tax\r\nauthority accepts the report. Not a partner-facing parameter and never set on ordinary transactions.",
            "nullable": true
          },
          "receiverIdentifier": {
            "minLength": 1,
            "type": "string",
            "description": "The ISO identifier of the receiver in the following format `{identifierType}:{identifier}`, for example `0196:1111119999`. If the identifier type is unknown and the message should be delivered via e-mail, use `EMAIL` as the identifier type."
          },
          "fallbackEmailAddress": {
            "type": "string",
            "description": "FallbackEmailAddress is required for transactions (used for email fallback delivery)\r\nbut not for internal CreateBusinessTransaction calls."
          }
        },
        "additionalProperties": false,
        "description": "Message delivery information."
      },
      "MessageHandlingSector": {
        "enum": [
          "B2B",
          "B2G",
          "B2C"
        ],
        "type": "string",
        "description": "The business sector for message handling.\r\nThis is currently only used for Croatia and controls how documents are fiscalized."
      },
      "MessageOutput": {
        "type": "object",
        "properties": {
          "uniqueId": {
            "type": "string",
            "description": "The unique identifier of the message (GUID).",
            "format": "uuid"
          },
          "timeReceived": {
            "type": "string",
            "description": "The date and time when the message was received by the server.",
            "format": "date-time",
            "nullable": true
          },
          "timeDelivered": {
            "type": "string",
            "description": "The date and time when the message was delivered.",
            "format": "date-time",
            "nullable": true
          },
          "documentNo": {
            "type": "string",
            "description": "The identifying number of the document.",
            "nullable": true
          },
          "status": {
            "type": "string",
            "description": "The message status.\r\nIndicates the current state that the message is in.\r\n            \r\nFor more information, see [Message flow](/docs/message-flow).",
            "nullable": true
          },
          "transfer": {
            "type": "string",
            "description": "The transfer status of the message.",
            "nullable": true
          },
          "validationStatus": {
            "type": "string",
            "description": "The validation status of the core document.\r\nPossible values are: `approved`, `rejected`, `ignored`, `unknown`.",
            "nullable": true
          },
          "taxReportingStatus": {
            "type": "string",
            "description": "Whether and how the message was reported to a tax authority.\r\nPossible values are: `none`, `electronic`, `non_electronic`, `failed`.",
            "nullable": true
          },
          "lifecycleStatus": {
            "type": "string",
            "description": "The lifecycle status: the latest lifecycle event reported on the referenced invoice (for example rejected or paid).\r\nPossible values are: `none`, `rejected`, `paid`.",
            "nullable": true
          },
          "importStatus": {
            "$ref": "#/components/schemas/MessageBookingStatusEnum"
          },
          "service": {
            "type": "string",
            "description": "The identifier of the business profile according to which the documents have been exchanged.\r\nGiven in the format of the Unique Resource Name (URN) of the profile, typically together with the business transaction group to which it belongs, for example, `urn:www.cenbii.eu:profile:bii04:ver1.0##CENBII-1.0`.",
            "nullable": true
          },
          "action": {
            "type": "string",
            "description": "The [business transaction group](/docs/business-transaction-groups) in the context of which the message is exchanged.",
            "nullable": true
          },
          "conversation": {
            "type": "string",
            "description": "The conversation identifier.\r\nLets you link messages that wrap related documents.",
            "nullable": true
          },
          "referenceInformation": {
            "type": "string",
            "description": "Any additional information relevant for the document, for example, the total amount indicated in the document or another reference value.",
            "nullable": true
          },
          "originParty": {
            "$ref": "#/components/schemas/MessageParty"
          },
          "destinationParty": {
            "$ref": "#/components/schemas/MessageParty"
          },
          "transaction": {
            "allOf": [
              {
                "$ref": "#/components/schemas/TransactionInfoOutput"
              }
            ],
            "description": "Deprecated. Previously undocumented, but potentially in use. Do not use in new integrations. Use `documents[].transaction`.",
            "nullable": true,
            "deprecated": true
          },
          "documents": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/MessageAttachment"
            },
            "description": "A list of documents that the message wraps.",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "Message information."
      },
      "MessageParty": {
        "type": "object",
        "properties": {
          "identifier": {
            "type": "string",
            "description": "The ISO identifier of the business participant in the `{identifierType}:{identifier}` format.",
            "nullable": true
          },
          "name": {
            "type": "string",
            "description": "The name of the business participant.",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "Business participant information."
      },
      "MinimalDocumentReferenceMetadata": {
        "required": [
          "documentNo"
        ],
        "type": "object",
        "properties": {
          "documentNo": {
            "minLength": 1,
            "type": "string",
            "description": "The identifying number of the document."
          }
        },
        "additionalProperties": false,
        "description": "Reference to a related business document."
      },
      "NameValuePair": {
        "required": [
          "name",
          "value"
        ],
        "type": "object",
        "properties": {
          "name": {
            "minLength": 1,
            "type": "string",
            "description": "The item property name."
          },
          "value": {
            "minLength": 1,
            "type": "string",
            "description": "The item property value."
          }
        },
        "additionalProperties": false,
        "description": "Defines a list of additional properties of the item.\r\nFor each property in the list, users declare the name of the property and its value, for example, `Color` and `blue`."
      },
      "PartyWithTaxInfoMetadata": {
        "required": [
          "address",
          "identifier",
          "name"
        ],
        "type": "object",
        "properties": {
          "name": {
            "minLength": 1,
            "type": "string",
            "description": "The name of the business participant."
          },
          "identifier": {
            "minLength": 1,
            "type": "string",
            "description": "The ISO identifier of the business participant in the `{Type}:{Identifier}` format, for example, `0196:1111112233`. For the receiving participant, type can be set to `EMAIL` if the receiver identifier of the message handling definition uses it."
          },
          "locationIdentifier": {
            "minLength": 1,
            "type": "string",
            "description": "The party identification used to identify the cost center (profit center), customer number, etc.",
            "nullable": true
          },
          "address": {
            "$ref": "#/components/schemas/AddressMetadata"
          },
          "contact": {
            "$ref": "#/components/schemas/ContactMetadata"
          },
          "vatNumber": {
            "minLength": 1,
            "type": "string",
            "description": "The VAT identification number of the business participant.",
            "nullable": true
          },
          "internalIdentifier": {
            "type": "string",
            "nullable": true
          },
          "legalIdentifier": {
            "type": "string",
            "description": "Used when the legal identifier is different from the endpoint identifier",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "PayeePartyMetadata": {
        "required": [
          "identifier",
          "name"
        ],
        "type": "object",
        "properties": {
          "name": {
            "minLength": 1,
            "type": "string",
            "description": "The name of the payee business participant."
          },
          "identifier": {
            "minLength": 1,
            "type": "string",
            "description": "The ISO identifier of the payee business participant in the `{Type}:{Identifier}` format, for example, `0196:1111112233`."
          },
          "legalIdentifier": {
            "type": "string",
            "description": "Used when the legal identifier is different from the identifier",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "Information about the payee, the role that receives the payment.\r\nShall be used when the payee is different from the seller."
      },
      "PaymentMeansMetadata": {
        "required": [
          "type"
        ],
        "type": "object",
        "properties": {
          "type": {
            "$ref": "#/components/schemas/PaymentMeansType"
          },
          "sepaDirectDebitTransfer": {
            "$ref": "#/components/schemas/SepaDirectDebitTransferMetadata"
          },
          "sepaCreditTransfer": {
            "$ref": "#/components/schemas/SepaCreditTransferMetadata"
          },
          "internationalTransfer": {
            "$ref": "#/components/schemas/GeneralInternationalTransferMetadata"
          },
          "domesticTransfer": {
            "$ref": "#/components/schemas/TransferMetadata"
          },
          "serbianDomesticTransfer": {
            "$ref": "#/components/schemas/SerbianTransferMetadata"
          },
          "croatianDomesticTransfer": {
            "$ref": "#/components/schemas/CroatianTransferMetadata"
          },
          "domesticClaim": {
            "$ref": "#/components/schemas/ClaimMetadata"
          },
          "debitTransfer": {
            "$ref": "#/components/schemas/DebitTransferMetadata"
          },
          "creditTransfer": {
            "$ref": "#/components/schemas/CreditTransferMetadata"
          },
          "cashPayment": {
            "$ref": "#/components/schemas/CashPaymentMetadata"
          },
          "bankCardPayment": {
            "$ref": "#/components/schemas/CardPaymentMetadata"
          },
          "creditCardPayment": {
            "$ref": "#/components/schemas/CardPaymentMetadata"
          },
          "debitCardPayment": {
            "$ref": "#/components/schemas/CardPaymentMetadata"
          }
        },
        "additionalProperties": false,
        "description": "Defines the [payment means](/docs/payment-means)."
      },
      "PaymentMeansType": {
        "enum": [
          "NotSet",
          "NotSpecified",
          "MutuallyAgreed",
          "DomesticTransfer",
          "CroatianDomesticTransfer",
          "InternationalTransfer",
          "SepaDirectDebitTransfer",
          "SepaCreditTransfer",
          "DomesticClaim",
          "DebitTransfer",
          "BankCardPayment",
          "CreditCardPayment",
          "DebitCardPayment",
          "CashPayment",
          "Other",
          "CreditTransfer"
        ],
        "type": "string"
      },
      "PaymentTermsMetadata": {
        "type": "object",
        "properties": {
          "note": {
            "minLength": 1,
            "type": "string",
            "description": "A description of the payment terms.",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "Specifies the payment conditions."
      },
      "PeriodMetadata": {
        "type": "object",
        "properties": {
          "startDate": {
            "type": "string",
            "description": "The start date of the period.",
            "format": "date-time",
            "nullable": true
          },
          "endDate": {
            "type": "string",
            "description": "The end date of the period.",
            "format": "date-time",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "Describes time period with start and end date."
      },
      "ReferenceIdentifierMetadata": {
        "required": [
          "value"
        ],
        "type": "object",
        "properties": {
          "type": {
            "$ref": "#/components/schemas/ReferenceIdentifierType"
          },
          "code": {
            "minLength": 1,
            "type": "string",
            "description": "A code from the UNCL x table, describing the reference identifier type.",
            "nullable": true
          },
          "value": {
            "minLength": 1,
            "type": "string",
            "description": "The reference identifier value."
          }
        },
        "additionalProperties": false,
        "description": "The reference identifier is described using a coded value from the UNCL1153 invoiced object identifier code list.\r\nFor more information, see [Message flow](/docs/billing-identifiers)."
      },
      "ReferenceIdentifierType": {
        "enum": [
          "Unmapped",
          "VehicleLicenseNumber",
          "WorkOrder",
          "CompanyOrPlaceRegistrationNumber",
          "MeteringPoint",
          "MeterUnitNumber",
          "ChargeCardAccountNumber",
          "PhoneNumber",
          "ReturnNoticeNumber",
          "WayBill",
          "FirmBookingReferenceNumber",
          "ShippingUnitIdentification",
          "SocialSecurityNumber",
          "DepartmentNumber",
          "VehicleIdentificationNumber",
          "ProjectNumber",
          "IssuingBankReference"
        ],
        "type": "string"
      },
      "SepaCreditTransferMetadata": {
        "required": [
          "bicCode",
          "ibanAccountNumber"
        ],
        "type": "object",
        "properties": {
          "bicCode": {
            "minLength": 1,
            "type": "string",
            "description": "Bic code"
          },
          "ibanAccountNumber": {
            "minLength": 1,
            "type": "string",
            "description": "IBAN account number required for the swift transfer"
          },
          "paymentIdentifier": {
            "minLength": 1,
            "type": "string",
            "description": "Payment identifier",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "SEPA credit transfer"
      },
      "SepaDirectDebitTransferMetadata": {
        "required": [
          "payeeBankingReference",
          "paymentIdentifier",
          "paymentMandateId"
        ],
        "type": "object",
        "properties": {
          "payeeBankingReference": {
            "minLength": 1,
            "type": "string",
            "description": "Unique banking reference identifier of the Seller or Payee"
          },
          "paymentIdentifier": {
            "minLength": 1,
            "type": "string",
            "description": "Remittance information"
          },
          "paymentMandateId": {
            "minLength": 1,
            "type": "string",
            "description": "Mandate reference identifier"
          },
          "payerFinancialAccount": {
            "type": "string",
            "description": "Account number of the payer e.g. DK12328462834823",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "Sepa debit transfer"
      },
      "SerbianTransferMetadata": {
        "required": [
          "accountNumber",
          "bankName"
        ],
        "type": "object",
        "properties": {
          "accountNumber": {
            "minLength": 1,
            "type": "string"
          },
          "bankName": {
            "minLength": 1,
            "type": "string"
          }
        },
        "additionalProperties": false
      },
      "SimpleHttpErrorResult": {
        "type": "object",
        "properties": {
          "statusCode": {
            "type": "string",
            "nullable": true
          },
          "statusText": {
            "type": "string",
            "nullable": true
          },
          "message": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "TaxCategoryTypeEnum": {
        "enum": [
          "StandardRated",
          "ReducedRated",
          "ZeroRated",
          "Exempt",
          "OutsideTaxScope",
          "ReverseCharged",
          "FreeExportTaxNotCharged",
          "ExemptEuropeanEconomicArea",
          "ExemptionForResale",
          "SpecialTaxationProcedure",
          "Annulled"
        ],
        "type": "string"
      },
      "TaxPointDescriptionType": {
        "enum": [
          "DocumentIssueDate",
          "ActualDeliveryDate",
          "PaidToDate"
        ],
        "type": "string"
      },
      "TaxTypeSchemeEnum": {
        "enum": [
          "Gst",
          "Inc",
          "Loc",
          "Per",
          "Sst",
          "Stt",
          "Vat"
        ],
        "type": "string"
      },
      "TransactionInfoOutput": {
        "type": "object",
        "properties": {
          "transactionKeyName": {
            "type": "string",
            "description": "The Unimaze name of the transaction.",
            "nullable": true,
            "example": "BISENUBL-3.0 SubmitInvoice"
          },
          "profileIdentifier": {
            "type": "string",
            "description": "The profile (process) identifier, for example `cbc:ProfileID` in a UBL document.",
            "nullable": true,
            "example": "urn:fdc:peppol.eu:2017:poacc:billing:01:1.0"
          },
          "customizationIdentifier": {
            "type": "string",
            "description": "The customization identifier, for example `cbc:CustomizationID` in a UBL document.",
            "nullable": true,
            "example": "urn:cen.eu:en16931:2017#compliant#urn:fdc:peppol.eu:2017:poacc:billing:3.0"
          },
          "documentIdentifier": {
            "type": "string",
            "description": "The document type identifier: the root element namespace and name, the customization identifier and the syntax version.",
            "nullable": true,
            "example": "urn:oasis:names:specification:ubl:schema:xsd:Invoice-2::Invoice##urn:cen.eu:en16931:2017#compliant#urn:fdc:peppol.eu:2017:poacc:billing:3.0::2.1"
          }
        },
        "additionalProperties": false
      },
      "TransactionProcessingMode": {
        "enum": [
          "Default",
          "Routed",
          "Device",
          "DeviceRouted",
          "PreValidate",
          "Forwarded"
        ],
        "type": "string",
        "description": "The way a transaction is processed."
      },
      "TransferMetadata": {
        "required": [
          "accountNumber",
          "accountTypeNumber",
          "bankNumber"
        ],
        "type": "object",
        "properties": {
          "paymentIdentifier": {
            "type": "integer",
            "description": "An optional PaymentIdentifier",
            "format": "int64",
            "nullable": true
          },
          "bankNumber": {
            "type": "integer",
            "description": "Bank number for the transfer",
            "format": "int32"
          },
          "accountTypeNumber": {
            "type": "integer",
            "description": "Account type number for the transfer",
            "format": "int32"
          },
          "accountNumber": {
            "type": "integer",
            "description": "Account number for the transfer",
            "format": "int64"
          }
        },
        "additionalProperties": false,
        "description": "Domestic transfer in Iceland"
      },
      "UnitOfMeasureMetadata": {
        "type": "object",
        "properties": {
          "unit": {
            "$ref": "#/components/schemas/Units"
          },
          "code": {
            "minLength": 1,
            "type": "string",
            "description": "The code of the measurement unit.\r\nFor more information, see [Unit of measure](/docs/unit-of-measure).",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "The unit of measure."
      },
      "Units": {
        "enum": [
          "Piece",
          "Kilogram",
          "Month",
          "Package",
          "Year",
          "Day",
          "Hour",
          "Kilometre",
          "Metre",
          "Litre",
          "SquareMetre",
          "CubicMetre",
          "Tonne",
          "KiloWattHour",
          "One",
          "Rec20",
          "Rec21"
        ],
        "type": "string"
      }
    },
    "securitySchemes": {
      "Bearer": {
        "type": "http",
        "description": "The Messaging API supports **Bearer authentication** as defined in\r\n[RFC 6750](https://datatracker.ietf.org/doc/html/rfc6750).\r\n\r\nTo authenticate requests, include an API token in the `Authorization` header:\r\n\r\n`Authorization: Bearer {token}`\r\n\r\nThe token is an opaque value (Base64-encoded GUID) and must be treated as a\r\ncredential. Anyone in possession of the token is granted access.",
        "scheme": "bearer",
        "bearerFormat": "Opaque"
      },
      "Basic": {
        "type": "http",
        "description": "⚠ **Legacy authentication method**\r\n\r\nThe Messaging API historically supported **HTTP Basic Authentication** as defined in\r\n[RFC 7617](https://datatracker.ietf.org/doc/html/rfc7617).\r\n\r\nTo authenticate requests, include a username and password encoded using\r\nBase64 in the `Authorization` header.\r\n\r\nThis method is retained for backward compatibility only and **must not be used\r\nfor new integrations**. New consumers should use **Bearer authentication** instead.",
        "scheme": "basic"
      }
    }
  },
  "security": [
    {
      "Bearer": []
    },
    {
      "Basic": []
    }
  ]
}
```