{ "openapi": "3.0.1", "info": { "title": "Einvoice.API", "version": "1.0" }, "paths": { "/api/v1/documents": { "get": { "tags": [ "Document" ], "summary": "Get a list of documents.", "operationId": "GetDocuments", "parameters": [ { "name": "startDate", "in": "query", "description": "The start date to filter documents by processing date", "schema": { "type": "string", "format": "date-time" } }, { "name": "endDate", "in": "query", "description": "The end date to filter documents by processing date", "schema": { "type": "string", "format": "date-time" } }, { "name": "take", "in": "query", "description": "The maximum number of documents to return. Default: 500. Minimum: 1. Maximum: 500.", "schema": { "maximum": 500, "minimum": 1, "type": "integer", "format": "int32", "default": 500 } }, { "name": "skip", "in": "query", "description": "The number of documents to skip. Use for paging to retrieve further batches of documents. Default: 0. Minimum: 0.", "schema": { "maximum": 2147483647, "minimum": 0, "type": "integer", "format": "int32", "default": 0 } } ], "responses": { "200": { "description": "Success", "content": { "text/plain": { "schema": { "$ref": "#/components/schemas/EinvoiceGetDocumentResponseListResponse" } }, "application/json": { "schema": { "$ref": "#/components/schemas/EinvoiceGetDocumentResponseListResponse" } }, "text/json": { "schema": { "$ref": "#/components/schemas/EinvoiceGetDocumentResponseListResponse" } } } } } }, "post": { "tags": [ "Document" ], "summary": "Submit data for an invoice.", "operationId": "PostInvoiceDocument", "parameters": [ { "name": "mandateName", "in": "query", "description": "The mandate name for which this invoice document is being submitted", "required": true, "schema": { "type": "string" } } ], "requestBody": { "description": "The invoice document to submit", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/EinvoiceInvoiceDocumentRequest" } }, "text/json": { "schema": { "$ref": "#/components/schemas/EinvoiceInvoiceDocumentRequest" } }, "application/*+json": { "schema": { "$ref": "#/components/schemas/EinvoiceInvoiceDocumentRequest" } } } }, "responses": { "200": { "description": "Success", "content": { "text/plain": { "schema": { "$ref": "#/components/schemas/EinvoicePostDocumentResponse" } }, "application/json": { "schema": { "$ref": "#/components/schemas/EinvoicePostDocumentResponse" } }, "text/json": { "schema": { "$ref": "#/components/schemas/EinvoicePostDocumentResponse" } } } } } } }, "/api/v1/documents/credit-note": { "post": { "tags": [ "Document" ], "summary": "Submit data for a credit note.", "operationId": "PostCreditNoteDocument", "parameters": [ { "name": "mandateName", "in": "query", "description": "The mandate name for which this credit note document is being submitted", "required": true, "schema": { "type": "string" } } ], "requestBody": { "description": "The credit note document to submit", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/EinvoiceCreditNoteDocumentRequest" } }, "text/json": { "schema": { "$ref": "#/components/schemas/EinvoiceCreditNoteDocumentRequest" } }, "application/*+json": { "schema": { "$ref": "#/components/schemas/EinvoiceCreditNoteDocumentRequest" } } } }, "responses": { "200": { "description": "Success", "content": { "text/plain": { "schema": { "$ref": "#/components/schemas/EinvoicePostDocumentResponse" } }, "application/json": { "schema": { "$ref": "#/components/schemas/EinvoicePostDocumentResponse" } }, "text/json": { "schema": { "$ref": "#/components/schemas/EinvoicePostDocumentResponse" } } } } } } }, "/api/v1/documents/{documentId}": { "get": { "tags": [ "Document" ], "summary": "Get a single document by Id.", "operationId": "GetDocument", "parameters": [ { "name": "documentId", "in": "path", "description": "The unique Id of the document.", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "description": "Success", "content": { "text/plain": { "schema": { "$ref": "#/components/schemas/EinvoiceGetDocumentResponse" } }, "application/json": { "schema": { "$ref": "#/components/schemas/EinvoiceGetDocumentResponse" } }, "text/json": { "schema": { "$ref": "#/components/schemas/EinvoiceGetDocumentResponse" } } } }, "404": { "description": "Not Found", "content": { "text/plain": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } }, "application/json": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } }, "text/json": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } } } } } } }, "/api/v1/documents/{documentId}/download": { "get": { "tags": [ "Document" ], "summary": "Get a single document by Id and type.", "operationId": "GetDocumentByIdWithDownloadType", "parameters": [ { "name": "documentId", "in": "path", "description": "The unique Id of the document.", "required": true, "schema": { "type": "string" } }, { "name": "type", "in": "query", "description": "Document type.", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "description": "Success", "content": { "text/plain": { "schema": { "$ref": "#/components/schemas/EinvoiceGetDownloadDocumentResponse" } }, "application/json": { "schema": { "$ref": "#/components/schemas/EinvoiceGetDownloadDocumentResponse" } }, "text/json": { "schema": { "$ref": "#/components/schemas/EinvoiceGetDownloadDocumentResponse" } } } }, "404": { "description": "Not Found", "content": { "text/plain": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } }, "application/json": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } }, "text/json": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } } } } } } }, "/api/v1/input-fields": { "get": { "tags": [ "InputField" ], "summary": "Get a list of input fields, optionally filtered by a single mandate name.", "operationId": "ListInputFields", "parameters": [ { "name": "mandateName", "in": "query", "schema": { "type": "string" } } ], "responses": { "200": { "description": "Success", "content": { "text/plain": { "schema": { "$ref": "#/components/schemas/EinvoiceGetInputFieldResponseListResponse" } }, "application/json": { "schema": { "$ref": "#/components/schemas/EinvoiceGetInputFieldResponseListResponse" } }, "text/json": { "schema": { "$ref": "#/components/schemas/EinvoiceGetInputFieldResponseListResponse" } } } } } } }, "/api/v1/mandates": { "get": { "tags": [ "Mandate" ], "summary": "Get a list of country mandates, optionally filtered by a single mandate name.", "operationId": "ListMandates", "parameters": [ { "name": "mandateName", "in": "query", "schema": { "type": "string" } } ], "responses": { "200": { "description": "Success", "content": { "text/plain": { "schema": { "$ref": "#/components/schemas/EinvoiceGetMandateResponseListResponse" } }, "application/json": { "schema": { "$ref": "#/components/schemas/EinvoiceGetMandateResponseListResponse" } }, "text/json": { "schema": { "$ref": "#/components/schemas/EinvoiceGetMandateResponseListResponse" } } } } } } } }, "components": { "schemas": { "EinvoiceCreditNoteDocumentRequest": { "required": [ "creditNote" ], "type": "object", "properties": { "creditNote": { "$ref": "#/components/schemas/UblCreditNote" } }, "additionalProperties": false }, "EinvoiceGetDocumentEventResponse": { "type": "object", "properties": { "eventDateTime": { "type": "string", "format": "date-time", "nullable": true }, "message": { "type": "string", "nullable": true }, "additionalDetailKey": { "type": "string", "nullable": true }, "additionalDetailValue": { "type": "string", "nullable": true } }, "additionalProperties": false }, "EinvoiceGetDocumentResponse": { "type": "object", "properties": { "id": { "type": "string", "nullable": true }, "customerName": { "type": "string", "nullable": true }, "supplierName": { "type": "string", "nullable": true }, "documentNumber": { "type": "string", "nullable": true }, "documentDate": { "type": "string", "format": "date-time", "nullable": true }, "processDateTime": { "type": "string", "format": "date-time", "nullable": true }, "status": { "type": "string", "nullable": true }, "flowDirection": { "type": "string", "nullable": true }, "countryCode": { "type": "string", "nullable": true }, "mandateName": { "type": "string", "nullable": true }, "events": { "type": "array", "items": { "$ref": "#/components/schemas/EinvoiceGetDocumentEventResponse" }, "nullable": true } }, "additionalProperties": false }, "EinvoiceGetDocumentResponseListResponse": { "type": "object", "properties": { "count": { "type": "integer", "format": "int32" }, "data": { "type": "array", "items": { "$ref": "#/components/schemas/EinvoiceGetDocumentResponse" }, "nullable": true } }, "additionalProperties": false }, "EinvoiceGetDownloadDocumentResponse": { "type": "object", "properties": { "metaData": { "$ref": "#/components/schemas/Metadata" }, "documentData": { "type": "string", "nullable": true } }, "additionalProperties": false }, "EinvoiceGetInputFieldResponse": { "type": "object", "properties": { "id": { "type": "string", "nullable": true }, "description": { "type": "string", "nullable": true }, "documentationLink": { "type": "string", "nullable": true }, "fieldName": { "type": "string", "nullable": true }, "path": { "type": "string", "nullable": true }, "mandates": { "type": "array", "items": { "$ref": "#/components/schemas/FieldMandate" }, "nullable": true } }, "additionalProperties": false }, "EinvoiceGetInputFieldResponseListResponse": { "type": "object", "properties": { "count": { "type": "integer", "format": "int32" }, "data": { "type": "array", "items": { "$ref": "#/components/schemas/EinvoiceGetInputFieldResponse" }, "nullable": true } }, "additionalProperties": false }, "EinvoiceGetMandateResponse": { "type": "object", "properties": { "id": { "type": "string", "nullable": true }, "countryCode": { "type": "string", "nullable": true }, "mandateName": { "type": "string", "nullable": true }, "mandateDescription": { "type": "string", "nullable": true }, "documentDownloadTypes": { "type": "array", "items": { "type": "string" }, "nullable": true } }, "additionalProperties": false }, "EinvoiceGetMandateResponseListResponse": { "type": "object", "properties": { "count": { "type": "integer", "format": "int32" }, "data": { "type": "array", "items": { "$ref": "#/components/schemas/EinvoiceGetMandateResponse" }, "nullable": true } }, "additionalProperties": false }, "EinvoiceInvoiceDocumentRequest": { "required": [ "invoice" ], "type": "object", "properties": { "invoice": { "$ref": "#/components/schemas/UblInvoice" } }, "additionalProperties": false }, "EinvoicePostDocumentResponse": { "type": "object", "properties": { "id": { "type": "string", "nullable": true } }, "additionalProperties": false }, "FieldMandate": { "type": "object", "properties": { "mandateName": { "type": "string", "nullable": true }, "validationLevel": { "$ref": "#/components/schemas/FieldMandateValidationLevel" }, "validationLevelDescription": { "type": "string", "nullable": true } }, "additionalProperties": false }, "FieldMandateValidationLevel": { "enum": [ 0, 1, 2 ], "type": "integer", "format": "int32" }, "Metadata": { "type": "object", "properties": { "type": { "type": "string", "nullable": true }, "isBase64Encoded": { "type": "boolean", "nullable": true } }, "additionalProperties": false }, "ProblemDetails": { "type": "object", "properties": { "type": { "type": "string", "nullable": true }, "title": { "type": "string", "nullable": true }, "status": { "type": "integer", "format": "int32", "nullable": true }, "detail": { "type": "string", "nullable": true }, "instance": { "type": "string", "nullable": true } }, "additionalProperties": { } }, "UblCreditNote": { "type": "object", "properties": { "customizationID": { "type": "string", "description": "* Default: \"urn:cen.eu:en16931:2017#compliant#urn:fdc:peppol.eu:2017:poacc:billing:3.0\"", "nullable": true }, "profileID": { "type": "string", "description": "* Default: \"urn:fdc:peppol.eu:2017:poacc:billing:01:1.0\"", "nullable": true }, "ublVersionID": { "type": "string", "description": "UBL Version: The version of the Universal Business Language used for the document.\r\n* Default: \"2.1\"", "nullable": true }, "id": { "type": "string", "description": "Credit Note number: A unique identification of the Credit Note.\r\n* Maps to: CreditNote/cbc:ID", "nullable": true }, "uuid": { "type": "string", "description": "Unique identifier: A universally unique identifier for an instance of this document.\r\n* Maps to: CreditNote/cbc:UUID", "nullable": true }, "issueDate": { "type": "string", "description": "Invoice issue date: The date when the Invoice was issued.\r\n* Maps to: CreditNote/cbc:IssueDate", "format": "date-time", "nullable": true }, "issueTime": { "pattern": "^\\d{1,2}:\\d{2}:\\d{2}$", "type": "string", "description": "Invoice issue time: The time when the Invoice was issued.\r\n* Default: \"00:00:00\"\r\n* Maps to: CreditNote/cbc:IssueTime", "nullable": true }, "creditNoteTypeCode": { "type": "string", "description": "Credit Note type code: A code specifying the type of the Credit Note. See: https://docs.peppol.eu/poacc/billing/3.0/codelist/UNCL1001-cn/.\r\n* Maps to: CreditNote/cbc:CreditNoteTypeCode", "nullable": true }, "creditNoteTypeCodeListVersionID": { "type": "string", "description": "Credit Note type code list version ID\r\n* Maps to: CreditNote/cbc:CreditNoteTypeCode/@listVersionID", "nullable": true }, "note": { "type": "array", "items": { "type": "string" }, "description": "Document note: A textual note that gives unstructured information that is relevant to the Document. Maps to:\r\n* CreditNote/cbc:Note", "nullable": true }, "taxPointDate": { "type": "string", "description": "Value added tax point date: The date when the VAT becomes accountable for the Seller and for the Buyer if different from the issue date. Maps to:\r\n* CreditNote/cbc:TaxPointDate", "format": "date-time", "nullable": true }, "documentCurrencyCode": { "type": "string", "description": "Document currency code: The currency in which all document amounts are given, except for the Total VAT amount in accounting currency. Maps to:\r\n* CreditNote/cbc:DocumentCurrencyCode", "nullable": true }, "taxCurrencyCode": { "type": "string", "description": "VAT accounting currency code: The currency used for VAT accounting and reporting purposes. Maps to:\r\n* CreditNote/cbc:TaxCurrencyCode", "nullable": true }, "pricingCurrencyCode": { "type": "string", "description": "Pricing currency code: A code signifying the currency used for prices in the Invoice. Maps to:\r\n* CreditNote/cbc:PricingCurrencyCode", "nullable": true }, "paymentCurrencyCode": { "type": "string", "description": "Payment currency code: A code signifying the currency used for payment in the Invoice. Maps to:\r\n* CreditNote/cbc:PaymentCurrencyCode", "nullable": true }, "accountingCost": { "type": "string", "description": "Buyer accounting reference: A textual value that specifies where to book the relevant data into the Buyer's financial accounts. Maps to:\r\n* CreditNote/cbc:AccountingCost", "nullable": true }, "buyerReference": { "type": "string", "description": "Buyer Reference: An identifier assigned by the Buyer used for internal routing purposes. Maps to:\r\n* CreditNote/cbc:BuyerReference", "nullable": true }, "invoicePeriod": { "type": "array", "items": { "$ref": "#/components/schemas/UblInvoicePeriod" }, "description": "Document period.\r\n* Maps to: CreditNote/cac:InvoicePeriod", "nullable": true }, "orderReference": { "$ref": "#/components/schemas/UblInvoiceOrder" }, "billingReference": { "type": "array", "items": { "$ref": "#/components/schemas/UblInvoiceBilling" }, "description": "Previous billing information. Maps to:\r\n* CreditNote/cac:BillingReference", "nullable": true }, "despatchDocumentReference": { "type": "array", "items": { "$ref": "#/components/schemas/UblInvoiceDespatchDocument" }, "description": "Despatch advice document information. Maps to:\r\n* CreditNote/cac:DespatchDocumentReference", "nullable": true }, "receiptDocumentReference": { "type": "array", "items": { "$ref": "#/components/schemas/UblInvoiceReceiptDocument" }, "description": "Receiving advice document information. Maps to:\r\n* CreditNote/cac:ReceiptDocumentReference", "nullable": true }, "originatorDocumentReference": { "type": "array", "items": { "$ref": "#/components/schemas/UblInvoiceOriginatorDocument" }, "description": "Originator document information. Maps to:\r\n* CreditNote/cac:OriginatorDocumentReference", "nullable": true }, "contractDocumentReference": { "type": "array", "items": { "$ref": "#/components/schemas/UblInvoiceContractDocument" }, "description": "Contract document information. Maps to:\r\n* CreditNote/cac:ContractDocumentReference", "nullable": true }, "additionalDocumentReference": { "type": "array", "items": { "$ref": "#/components/schemas/UblInvoiceAdditionalDocument" }, "description": "Supporting document information. Maps to:\r\n* CreditNote/cac:AdditionalDocumentReference", "nullable": true }, "accountingSupplierParty": { "$ref": "#/components/schemas/UblInvoiceSupplier" }, "accountingCustomerParty": { "$ref": "#/components/schemas/UblInvoiceCustomer" }, "payeeParty": { "$ref": "#/components/schemas/UblInvoicePayee" }, "taxRepresentativeParty": { "$ref": "#/components/schemas/UblInvoiceTaxRepresentative" }, "delivery": { "type": "array", "items": { "$ref": "#/components/schemas/UblInvoiceDelivery" }, "description": "Deliver to information.\r\n* Maps to: CreditNote/cac:Delivery", "nullable": true }, "paymentMeans": { "type": "array", "items": { "$ref": "#/components/schemas/UblInvoicePaymentMeans" }, "description": "Payment means information.\r\n* Maps to: CreditNote/cac:PaymentMeans", "nullable": true }, "paymentTerms": { "type": "array", "items": { "$ref": "#/components/schemas/UblInvoicePaymentTerms" }, "description": "Payment terms information.\r\n* Maps to: CreditNote/cac:PaymentTerms", "nullable": true }, "allowanceCharge": { "type": "array", "items": { "$ref": "#/components/schemas/UblInvoiceAllowanceCharge" }, "description": "Allowance or charge information.\r\n* Maps to: CreditNote/cac:AllowanceCharge", "nullable": true }, "taxExchangeRate": { "$ref": "#/components/schemas/UblInvoiceTaxExchangeRate" }, "taxTotal": { "type": "array", "items": { "$ref": "#/components/schemas/UblInvoiceTaxTotal" }, "description": "Information about the total tax for the document.\r\n* Maps to: CreditNote/cac:TaxTotal", "nullable": true }, "legalMonetaryTotal": { "$ref": "#/components/schemas/UblInvoiceLegalMonetaryTotal" }, "creditNoteLine": { "type": "array", "items": { "$ref": "#/components/schemas/UblCreditNoteLine" }, "description": "Credit Note line information.\r\n* Maps to: CreditNote/cac:InvoiceLine", "nullable": true }, "ublExtensions": { "type": "array", "items": { "$ref": "#/components/schemas/UblInvoiceExtension" }, "description": "[NOT YET IMPLEMENTED] Invoice UBL Extension information.\r\n* Maps to: CreditNote/cec:UBLExtensions", "nullable": true } }, "additionalProperties": false }, "UblCreditNoteLine": { "type": "object", "properties": { "id": { "type": "string", "description": "Document line identifier: A unique identifier for the individual line within the Document.\r\n* Maps to: CreditNote/cac:CreditNoteLine/cbc:ID", "nullable": true }, "note": { "type": "array", "items": { "type": "string" }, "description": "Document line note: A textual note that gives unstructured information that is relevant to the Document line.\r\n* Maps to: CreditNote/cac:CreditNoteLine/cbc:Note", "nullable": true }, "creditedQuantity": { "type": "number", "description": "Quantity: The quantity of items (goods or services) that is charged in the Document line.\r\n* Maps to: CreditNote/cac:CreditNoteLine/cbc:CreditedQuantity", "format": "double", "nullable": true }, "creditedQuantityUnitCode": { "type": "string", "description": "Quantity unit of measure: The unit of measure that applies to the invoiced quantity. See: https://docs.peppol.eu/poacc/billing/3.0/codelist/UNECERec20/.\r\n* Maps to: CreditNote/cac:CreditNoteLine/cbc:CreditedQuantity/@unitCode", "nullable": true }, "lineExtensionAmount": { "type": "number", "description": "Document line net amount: The total amount of the Document line. The amount is \"net\" without VAT. Provide value according to document currency code.\r\n* Maps to: CreditNote/cac:CreditNoteLine/cbc:LineExtensionAmount", "format": "double", "nullable": true }, "accountingCost": { "type": "string", "description": "Document line Buyer accounting reference: A textual value that specifies where to book the relevant data into the Buyer's financial accounts.\r\n* Maps to: CreditNote/cac:CreditNoteLine/cbc:AccountingCost", "nullable": true }, "invoicePeriod": { "type": "array", "items": { "$ref": "#/components/schemas/UblInvoiceLinePeriod" }, "description": "Document line period information.\r\n* Maps to: CreditNote/cac:CreditNoteLine/cac:InvoicePeriod", "nullable": true }, "orderLineReference": { "type": "array", "items": { "$ref": "#/components/schemas/UblInvoiceLineOrderLineReference" }, "description": "Referenced purchase order line information.\r\n* Maps to: CreditNote/cac:CreditNoteLine/cac:OrderLineReference", "nullable": true }, "documentReference": { "type": "array", "items": { "$ref": "#/components/schemas/UblInvoiceLineDocument" }, "description": "Document line object information.\r\n* Maps to: CreditNote/cac:CreditNoteLine/cac:DocumentReference", "nullable": true }, "allowanceCharge": { "type": "array", "items": { "$ref": "#/components/schemas/UblInvoiceAllowanceCharge" }, "description": "Allowance or charge information.\r\n* Maps to: CreditNote/cac:CreditNoteLine/cac:AllowanceCharge", "nullable": true }, "taxTotal": { "type": "array", "items": { "$ref": "#/components/schemas/UblInvoiceTaxTotal" }, "description": "Tax total information.\r\n* Maps to: CreditNote/cac:CreditNoteLine/cac:TaxTotal", "nullable": true }, "item": { "$ref": "#/components/schemas/UblInvoiceLineItem" }, "price": { "$ref": "#/components/schemas/UblInvoiceLinePrice" }, "itemPriceExtension": { "$ref": "#/components/schemas/UblInvoiceLineItemPriceExtension" } }, "additionalProperties": false }, "UblInvoice": { "type": "object", "properties": { "customizationID": { "type": "string", "description": "* Default: \"urn:cen.eu:en16931:2017#compliant#urn:fdc:peppol.eu:2017:poacc:billing:3.0\"", "nullable": true }, "profileID": { "type": "string", "description": "* Default: \"urn:fdc:peppol.eu:2017:poacc:billing:01:1.0\"", "nullable": true }, "id": { "type": "string", "description": "Invoice number: A unique identification of the Invoice.\r\n* Maps to: Invoice/cbc:ID", "nullable": true }, "uuid": { "type": "string", "description": "Unique identifier: A universally unique identifier for an instance of this document.\r\n* Maps to: Invoice/cbc:UUID", "nullable": true }, "issueDate": { "type": "string", "description": "Invoice issue date: The date when the Invoice was issued.\r\n* Maps to: Invoice/cbc:IssueDate", "format": "date-time", "nullable": true }, "issueTime": { "pattern": "^\\d{1,2}:\\d{2}:\\d{2}$", "type": "string", "description": "Invoice issue time: The time when the Invoice was issued.\r\n* Default: \"00:00:00\"\r\n* Maps to: Invoice/cbc:IssueTime", "nullable": true }, "dueDate": { "type": "string", "description": "Payment due date: The date when the payment is due.\r\n* Maps to: Invoice/cbc:DueDate", "format": "date-time", "nullable": true }, "invoiceTypeCode": { "type": "string", "description": "Invoice type code: A code specifying the type of the Invoice. See: https://docs.peppol.eu/poacc/billing/3.0/codelist/UNCL1001-inv/.\r\n* Maps to: Invoice/cbc:InvoiceTypeCode", "nullable": true }, "note": { "type": "array", "items": { "type": "string" }, "description": "Document note: A textual note that gives unstructured information that is relevant to the Document. Maps to:\r\n* Invoice/cbc:Note", "nullable": true }, "taxPointDate": { "type": "string", "description": "Value added tax point date: The date when the VAT becomes accountable for the Seller and for the Buyer if different from the issue date. Maps to:\r\n* Invoice/cbc:TaxPointDate", "format": "date-time", "nullable": true }, "documentCurrencyCode": { "type": "string", "description": "Document currency code: The currency in which all document amounts are given, except for the Total VAT amount in accounting currency. Maps to:\r\n* Invoice/cbc:DocumentCurrencyCode", "nullable": true }, "taxCurrencyCode": { "type": "string", "description": "VAT accounting currency code: The currency used for VAT accounting and reporting purposes. Maps to:\r\n* Invoice/cbc:TaxCurrencyCode", "nullable": true }, "pricingCurrencyCode": { "type": "string", "description": "Pricing currency code: A code signifying the currency used for prices in the Invoice. Maps to:\r\n* Invoice/cbc:PricingCurrencyCode", "nullable": true }, "paymentCurrencyCode": { "type": "string", "description": "Payment currency code: A code signifying the currency used for payment in the Invoice. Maps to:\r\n* Invoice/cbc:PaymentCurrencyCode", "nullable": true }, "accountingCost": { "type": "string", "description": "Buyer accounting reference: A textual value that specifies where to book the relevant data into the Buyer's financial accounts. Maps to:\r\n* Invoice/cbc:AccountingCost", "nullable": true }, "buyerReference": { "type": "string", "description": "Buyer Reference: An identifier assigned by the Buyer used for internal routing purposes. Maps to:\r\n* Invoice/cbc:BuyerReference", "nullable": true }, "invoicePeriod": { "type": "array", "items": { "$ref": "#/components/schemas/UblInvoicePeriod" }, "description": "Document period.\r\n* Maps to: Invoice/cac:InvoicePeriod", "nullable": true }, "orderReference": { "$ref": "#/components/schemas/UblInvoiceOrder" }, "billingReference": { "type": "array", "items": { "$ref": "#/components/schemas/UblInvoiceBilling" }, "description": "Previous billing information. Maps to:\r\n* Invoice/cac:BillingReference", "nullable": true }, "despatchDocumentReference": { "type": "array", "items": { "$ref": "#/components/schemas/UblInvoiceDespatchDocument" }, "description": "Despatch advice document information. Maps to:\r\n* Invoice/cac:DespatchDocumentReference", "nullable": true }, "receiptDocumentReference": { "type": "array", "items": { "$ref": "#/components/schemas/UblInvoiceReceiptDocument" }, "description": "Receiving advice document information. Maps to:\r\n* Invoice/cac:ReceiptDocumentReference", "nullable": true }, "originatorDocumentReference": { "type": "array", "items": { "$ref": "#/components/schemas/UblInvoiceOriginatorDocument" }, "description": "Originator document information. Maps to:\r\n* Invoice/cac:OriginatorDocumentReference", "nullable": true }, "contractDocumentReference": { "type": "array", "items": { "$ref": "#/components/schemas/UblInvoiceContractDocument" }, "description": "Contract document information. Maps to:\r\n* Invoice/cac:ContractDocumentReference", "nullable": true }, "additionalDocumentReference": { "type": "array", "items": { "$ref": "#/components/schemas/UblInvoiceAdditionalDocument" }, "description": "Supporting document information. Maps to:\r\n* Invoice/cac:AdditionalDocumentReference", "nullable": true }, "projectReference": { "type": "array", "items": { "$ref": "#/components/schemas/UblInvoiceProject" }, "description": "Project information.\r\n* Maps to: Invoice/cac:ProjectReference", "nullable": true }, "accountingSupplierParty": { "$ref": "#/components/schemas/UblInvoiceSupplier" }, "accountingCustomerParty": { "$ref": "#/components/schemas/UblInvoiceCustomer" }, "payeeParty": { "$ref": "#/components/schemas/UblInvoicePayee" }, "taxRepresentativeParty": { "$ref": "#/components/schemas/UblInvoiceTaxRepresentative" }, "delivery": { "type": "array", "items": { "$ref": "#/components/schemas/UblInvoiceDelivery" }, "description": "Deliver to information.\r\n* Maps to: Invoice/cac:Delivery", "nullable": true }, "paymentMeans": { "type": "array", "items": { "$ref": "#/components/schemas/UblInvoicePaymentMeans" }, "description": "Payment means information.\r\n* Maps to: Invoice/cac:PaymentMeans", "nullable": true }, "paymentTerms": { "type": "array", "items": { "$ref": "#/components/schemas/UblInvoicePaymentTerms" }, "description": "Payment terms information.\r\n* Maps to: Invoice/cac:PaymentTerms", "nullable": true }, "prepaidPayment": { "type": "array", "items": { "$ref": "#/components/schemas/UblInvoicePrepaidPayment" }, "description": "Prepaid payment information.\r\n* Maps to: Invoice/cac:PrepaidPayment", "nullable": true }, "allowanceCharge": { "type": "array", "items": { "$ref": "#/components/schemas/UblInvoiceAllowanceCharge" }, "description": "Allowance or charge information.\r\n* Maps to: Invoice/cac:AllowanceCharge", "nullable": true }, "taxExchangeRate": { "$ref": "#/components/schemas/UblInvoiceTaxExchangeRate" }, "taxTotal": { "type": "array", "items": { "$ref": "#/components/schemas/UblInvoiceTaxTotal" }, "description": "Information about the total tax for the document.\r\n* Maps to: Invoice/cac:TaxTotal", "nullable": true }, "legalMonetaryTotal": { "$ref": "#/components/schemas/UblInvoiceLegalMonetaryTotal" }, "invoiceLine": { "type": "array", "items": { "$ref": "#/components/schemas/UblInvoiceLine" }, "description": "Invoice line information.\r\n* Maps to: Invoice/cac:InvoiceLine", "nullable": true }, "ublExtensions": { "type": "array", "items": { "$ref": "#/components/schemas/UblInvoiceExtension" }, "description": "[NOT YET IMPLEMENTED] Invoice UBL Extension information.\r\n* Maps to: Invoice/cec:UBLExtensions", "nullable": true } }, "additionalProperties": false }, "UblInvoiceAdditionalDocument": { "type": "object", "properties": { "id": { "type": "string", "description": "Document object identifier, Supporting document reference: An identifier for an object on which the document is based or the identifier for the supporting document.\r\n* Maps to: Invoice/cac:AdditionalDocumentReference/cbc:ID", "nullable": true }, "idSchemeID": { "type": "string", "description": "Scheme identifier: The identification scheme identifier of the Invoiced object identifier. See: https://docs.peppol.eu/poacc/billing/3.0/syntax/ubl-invoice/cac-AdditionalDocumentReference/cbc-ID/schemeID/.\r\n* Maps to: Invoice/cac:AdditionalDocumentReference/cbc:ID/@schemeID", "nullable": true }, "documentTypeCode": { "type": "string", "description": "Document type code: Code \\\"130\\\" MUST be used to indicate an invoice object reference. Not used for other additional documents.\r\n* Maps to: Invoice/cac:AdditionalDocumentReference/cbc:DocumentTypeCode", "nullable": true }, "documentDescription": { "type": "array", "items": { "type": "string" }, "description": "Supporting document description: A description of the supporting document, such as timesheet, usage report, etc.\r\n* Maps to: Invoice/cac:AdditionalDocumentReference/cbc:DocumentDescription", "nullable": true }, "attachment": { "$ref": "#/components/schemas/UblInvoiceAdditionalDocumentAttachment" } }, "additionalProperties": false }, "UblInvoiceAdditionalDocumentAttachment": { "type": "object", "properties": { "embeddedDocumentBinaryObject": { "type": "string", "description": "Attached document: An attached document embedded as binary object (Base64) or sent together with the invoice.\r\n* Maps to: Invoice/cac:AdditionalDocumentReference/cac:Attachment/cbc:EmbeddedDocumentBinaryObject", "nullable": true }, "embeddedDocumentBinaryObjectMimeCode": { "type": "string", "description": "Attached document Mime code\r\n* Maps to: Invoice/cac:AdditionalDocumentReference/cac:Attachment/cbc:EmbeddedDocumentBinaryObject/@mimeCode", "nullable": true }, "embeddedDocumentBinaryObjectFilename": { "type": "string", "description": "Attached document Filename: The file name of the attached document.\r\n* Maps to: Invoice/cac:AdditionalDocumentReference/cac:Attachment/cbc:EmbeddedDocumentBinaryObject/@filename", "nullable": true }, "externalReference": { "$ref": "#/components/schemas/UblInvoiceAdditionalDocumentAttachmentExternalReference" } }, "additionalProperties": false }, "UblInvoiceAdditionalDocumentAttachmentExternalReference": { "type": "object", "properties": { "uri": { "type": "string", "description": "External document location: The URL (Uniform Resource Locator) that identifies where the external document is located.\r\n* Maps to: Invoice/cac:AdditionalDocumentReference/cac:Attachment/cac:ExternalReference/cbc:URI", "nullable": true } }, "additionalProperties": false }, "UblInvoiceAllowanceCharge": { "type": "object", "properties": { "chargeIndicator": { "type": "boolean", "description": "Charge indicator: Whether this information describes a charge (true) or a discount allowance (false).\r\n* Default: false\r\n* Maps to:\r\n * Invoice/cac:AllowanceCharge/cbc:ChargeIndicator\r\n * Invoice/cac:InvoiceLine/cac:AllowanceCharge/cbc:ChargeIndicator", "nullable": true }, "allowanceChargeReasonCode": { "type": "string", "description": "Document/Line level allowance or charge reason code: The reason for the document/line level allowance or charge, expressed as a code.\r\n* Maps to:\r\n * Invoice/cac:AllowanceCharge/cbc:AllowanceChargeReasonCode\r\n * Invoice/cac:InvoiceLine/cac:AllowanceCharge/cbc:AllowanceChargeReasonCode", "nullable": true }, "allowanceChargeReason": { "type": "array", "items": { "type": "string" }, "description": "Document/Line level allowance or charge reason: The reason for the document/line level allowance or charge, expressed as text.\r\n* Maps to:\r\n * Invoice/cac:AllowanceCharge/cbc:AllowanceChargeReason\r\n * Invoice/cac:InvoiceLine/cac:AllowanceCharge/cbc:AllowanceChargeReason", "nullable": true }, "multiplierFactorNumeric": { "type": "number", "description": "Document/Line level allowance or charge percentage: The percentage that may be used, in conjunction with the allowance base amount, to calculate the allowance or charge amount.\r\n* Maps to:\r\n * Invoice/cac:AllowanceCharge/cbc:MultiplierFactorNumeric\r\n * Invoice/cac:InvoiceLine/cac:AllowanceCharge/cbc:MultiplierFactorNumeric", "format": "double", "nullable": true }, "amount": { "pattern": "\\d+(\\.\\d{1,2})?", "type": "number", "description": "Document/Line level allowance or charge amount: The amount of an allowance or a charge, without VAT. Provide value according to document currency code.\r\n* Maps to:\r\n * Invoice/cac:AllowanceCharge/cbc:Amount\r\n * Invoice/cac:InvoiceLine/cac:AllowanceCharge/cbc:Amount", "format": "double", "nullable": true }, "baseAmount": { "pattern": "\\d+(\\.\\d{1,2})?", "type": "number", "description": "Document/Line level allowance or charge base amount: The base amount that may be used, in conjunction with the allowance or charge percentage,\r\nto calculate the document/line level allowance or charge amount. Provide value according to document currency code.\r\n* Maps to:\r\n * Invoice/cac:AllowanceCharge/cbc:Amount\r\n * Invoice/cac:InvoiceLine/cac:AllowanceCharge/cbc:BaseAmount", "format": "double", "nullable": true }, "taxCategory": { "type": "array", "items": { "$ref": "#/components/schemas/UblInvoiceAllowanceChargeTaxCategory" }, "description": "Document level allowance or charge VAT category information.\r\n* Maps to: Invoice/cac:AllowanceCharge/cac:TaxCategory", "nullable": true } }, "additionalProperties": false }, "UblInvoiceAllowanceChargeTaxCategory": { "type": "object", "properties": { "id": { "type": "string", "description": "Document level allowance or charge VAT category code: A coded identification of what VAT category applies to the document level allowance or charge.\r\n* Maps to: Invoice/cac:AllowanceCharge/cac:TaxCategory/cbc:ID", "nullable": true }, "percent": { "type": "number", "description": "Document level allowance or charge VAT rate: The VAT rate, represented as percentage that applies to the document level allowance or charge.\r\n* Maps to: Invoice/cac:AllowanceCharge/cac:TaxCategory/cbc:Percent", "format": "double", "nullable": true }, "taxScheme": { "$ref": "#/components/schemas/UblInvoiceTaxScheme" } }, "additionalProperties": false }, "UblInvoiceBilling": { "type": "object", "properties": { "invoiceDocumentReference": { "$ref": "#/components/schemas/UblInvoiceBillingInvoiceDocument" }, "additionalDocumentReference": { "$ref": "#/components/schemas/UblInvoiceBillingAdditionalDocument" } }, "additionalProperties": false }, "UblInvoiceBillingAdditionalDocument": { "type": "object", "properties": { "id": { "type": "string", "description": "Billing additional reference: An identifier of an additional billing document.\r\n* Maps to: Invoice/cac:BillingReference/cac:AdditionalDocumentReference/cbc:ID", "nullable": true } }, "additionalProperties": false }, "UblInvoiceBillingInvoiceDocument": { "type": "object", "properties": { "id": { "type": "string", "description": "Preceding Invoice number: The identification of an Invoice that was previously sent by the Seller.\r\n* Maps to: Invoice/cac:BillingReference/cac:InvoiceDocumentReference/cbc:ID", "nullable": true }, "uuid": { "type": "string", "nullable": true }, "issueDate": { "type": "string", "description": "Preceding Invoice issue date: The date when the Preceding Invoice was issued. Maps to:\r\n* Maps to: Invoice/cac:BillingReference/cac:InvoiceDocumentReference/cbc:IssueDate", "format": "date-time", "nullable": true } }, "additionalProperties": false }, "UblInvoiceContractDocument": { "type": "object", "properties": { "id": { "type": "string", "description": "Contract reference: The identification of a contract. Maps to:\r\n* Maps to: Invoice/cac:ContractDocumentReference/cbc:ID", "nullable": true } }, "additionalProperties": false }, "UblInvoiceCustomer": { "type": "object", "properties": { "party": { "$ref": "#/components/schemas/UblInvoiceCustomerParty" } }, "additionalProperties": false }, "UblInvoiceCustomerParty": { "type": "object", "properties": { "endpointID": { "type": "string", "description": "Buyer electronic address: Identifies the Buyer's electronic address to which the invoice is delivered\r\n* Maps to: Invoice/cac:AccountingCustomerParty/cac:Party/cbc:EndpointID", "nullable": true }, "endpointIDSchemeID": { "type": "string", "description": "Electronic Address Scheme. See: https://docs.peppol.eu/poacc/billing/3.0/codelist/eas/\r\n* Maps to: Invoice/cac:AccountingCustomerParty/cac:Party/cbc:EndpointID/@schemeID", "nullable": true }, "partyIdentification": { "type": "array", "items": { "$ref": "#/components/schemas/UblInvoicePartyIdentification" }, "description": "Buyer Party identification.\r\n* Maps to: Invoice/cac:AccountingCustomerParty/cac:Party/cac:PartyIdentification", "nullable": true }, "postalAddress": { "$ref": "#/components/schemas/UblInvoicePostalAddress" }, "partyLegalEntity": { "type": "array", "items": { "$ref": "#/components/schemas/UblInvoicePartyLegalEntity" }, "description": "Buyer legal entity information.", "nullable": true }, "partyName": { "type": "array", "items": { "$ref": "#/components/schemas/UblInvoicePartyName" }, "description": "Buyer name information.\r\n* Maps to: Invoice/cac:AccountingCustomerParty/cac:Party/cac:PartyName", "nullable": true }, "partyTaxScheme": { "type": "array", "items": { "$ref": "#/components/schemas/UblInvoicePartyTaxScheme" }, "description": "Buyer tax scheme information.\r\n* Maps to: Invoice/cac:AccountingCustomerParty/cac:Party/cac:PartyTaxScheme", "nullable": true }, "contact": { "$ref": "#/components/schemas/UblInvoicePartyContact" } }, "additionalProperties": false }, "UblInvoiceDelivery": { "type": "object", "properties": { "actualDeliveryDate": { "type": "string", "description": "Actual delivery date: The date on which the supply of goods or services was made or completed.\r\n* Maps to: Invoice/cac:Delivery/cbc:ActualDeliveryDate", "format": "date-time", "nullable": true }, "latestDeliveryDate": { "type": "string", "description": "The latest date of delivery allowed by the buyer. Value will not be used if Actual Delivery Date is populated.\r\n* Maps to: Invoice/cac:Delivery/cbc:LatestDeliveryDate", "format": "date-time", "nullable": true }, "deliveryLocation": { "$ref": "#/components/schemas/UblInvoiceDeliveryLocation" }, "deliveryParty": { "$ref": "#/components/schemas/UblInvoiceDeliveryParty" }, "shipment": { "$ref": "#/components/schemas/UblInvoiceDeliveryShipment" } }, "additionalProperties": false }, "UblInvoiceDeliveryLocation": { "type": "object", "properties": { "id": { "type": "string", "description": "Deliver to location identifier: An identifier for the location at which the goods and services are delivered.\r\n* Maps to: Invoice/cac:Delivery/cac:DeliveryLocation/cbc:ID", "nullable": true }, "idSchemeID": { "type": "string", "description": "The identification scheme of the location identifier.\r\n* Maps to:Invoice/cac:Delivery/cac:DeliveryLocation/cbc:ID/@schemeID", "nullable": true }, "address": { "$ref": "#/components/schemas/UblInvoicePostalAddress" } }, "additionalProperties": false }, "UblInvoiceDeliveryParty": { "type": "object", "properties": { "partyIdentification": { "type": "array", "items": { "$ref": "#/components/schemas/UblInvoicePartyIdentification" }, "description": "Deliver to party identification.\r\n* Maps to: Invoice/cac:Delivery/cac:DeliveryParty/cac:PartyIdentification", "nullable": true }, "partyName": { "type": "array", "items": { "$ref": "#/components/schemas/UblInvoicePartyName" }, "description": "Deliver to party name: The name of the party to which the goods and services are delivered.\r\n* Maps to: Invoice/cac:Delivery/cac:DeliveryParty/cac:PartyName", "nullable": true }, "postalAddress": { "$ref": "#/components/schemas/UblInvoicePostalAddress" }, "partyLegalEntity": { "type": "array", "items": { "$ref": "#/components/schemas/UblInvoicePartyLegalEntity" }, "description": "Deliver to party legal entity information.\r\n* Maps to: Invoice/cac:Delivery/cac:DeliveryParty/cac:PartyLegalEntity", "nullable": true }, "partyTaxScheme": { "type": "array", "items": { "$ref": "#/components/schemas/UblInvoicePartyTaxScheme" }, "description": "* Maps to: Invoice/cac:Delivery/cac:DeliveryParty/cac:PartyTaxScheme", "nullable": true } }, "additionalProperties": false }, "UblInvoiceDeliveryShipment": { "type": "object", "properties": { "id": { "type": "string", "description": "* Maps to: Invoice/cac:Delivery/cac:Shipment/cbc:ID", "nullable": true }, "consignment": { "type": "array", "items": { "$ref": "#/components/schemas/UblInvoiceDeliveryShipmentConsignment" }, "description": "* Maps to: Invoice/cac:Delivery/cac:Shipment/cac:Consignment", "nullable": true }, "freightAllowanceCharge": { "type": "array", "items": { "$ref": "#/components/schemas/UblInvoiceDeliveryShipmentFreightAllowanceCharge" }, "description": "* Maps to: Invoice/cac:Delivery/cac:Shipment/cac:FreightAllowanceCharge", "nullable": true } }, "additionalProperties": false }, "UblInvoiceDeliveryShipmentConsignment": { "type": "object", "properties": { "id": { "type": "string", "description": "Shipment consignment identifier.\r\n* Maps to: Invoice/cac:Delivery/cac:Shipment/cac:Consignment/cbc:ID", "nullable": true }, "deliveryTerms": { "$ref": "#/components/schemas/UblInvoiceDeliveryShipmentDeliveryTerms" } }, "additionalProperties": false }, "UblInvoiceDeliveryShipmentDeliveryTerms": { "type": "object", "properties": { "id": { "type": "string", "description": "Shipment consignment delivery terms identifier.\r\n* Maps to: Invoice/cac:Delivery/cac:Shipment/cac:Consignment/cac:DeliveryTerms/cbc:ID", "nullable": true } }, "additionalProperties": false }, "UblInvoiceDeliveryShipmentFreightAllowanceCharge": { "type": "object", "properties": { "chargeIndicator": { "type": "boolean", "description": "Charge indicator: Whether this information describes a charge (true) or a discount allowance (false).\r\n* Default: false\r\n* Maps to: Invoice/cac:Delivery/cac:Shipment/cac:FreightAllowanceCharge/cbc:ChargeIndicator", "nullable": true }, "amount": { "type": "number", "description": "Shipment freight allowance or charge amount\r\n* Maps to: Invoice/cac:Delivery/cac:Shipment/cac:FreightAllowanceCharge/cbc:Amount", "format": "double", "nullable": true } }, "additionalProperties": false }, "UblInvoiceDespatchDocument": { "type": "object", "properties": { "id": { "type": "string", "description": "Despatch advice reference: An identifier of a referenced despatch advice. Maps to:\r\n* Maps to: Invoice/cac:DespatchDocumentReference/cbc:ID", "nullable": true } }, "additionalProperties": false }, "UblInvoiceExtension": { "type": "object", "properties": { "extensionContent": { "type": "array", "items": { }, "description": "UBL Extension information\r\n* Maps to: Invoice/cec:UBLExtensions/cec:UBLExtension/cec:ExtensionContent", "nullable": true } }, "additionalProperties": false }, "UblInvoiceLegalMonetaryTotal": { "type": "object", "properties": { "lineExtensionAmount": { "pattern": "\\d+(\\.\\d{1,2})?", "type": "number", "description": "Sum of Invoice line net amount: Sum of all Invoice line net amounts in the Invoice. Provide value according to document currency code.\r\n* Maps to: Invoice/cac:LegalMonetaryTotal/cbc:LineExtensionAmount", "format": "double", "nullable": true }, "taxExclusiveAmount": { "pattern": "\\d+(\\.\\d{1,2})?", "type": "number", "description": "Invoice total amount without VAT: The total amount of the Invoice without VAT. Provide value according to document currency code.\r\n* Maps to: Invoice/cac:LegalMonetaryTotal/cbc:TaxExclusiveAmount", "format": "double", "nullable": true }, "taxInclusiveAmount": { "pattern": "\\d+(\\.\\d{1,2})?", "type": "number", "description": "Invoice total amount with VAT: The total amount of the Invoice with VAT. Provide value according to document currency code.\r\n* Maps to: Invoice/cac:LegalMonetaryTotal/cbc:TaxInclusiveAmount", "format": "double", "nullable": true }, "allowanceTotalAmount": { "pattern": "\\d+(\\.\\d{1,2})?", "type": "number", "description": "Sum of allowances on document level: Sum of all allowances on document level in the Invoice. Provide value according to document currency code.\r\n* Maps to: Invoice/cac:LegalMonetaryTotal/cbc:AllowanceTotalAmount", "format": "double", "nullable": true }, "chargeTotalAmount": { "pattern": "\\d+(\\.\\d{1,2})?", "type": "number", "description": "Sum of charges on document level: Sum of all charges on document level in the Invoice. Provide value according to document currency code.\r\n* Maps to: Invoice/cac:LegalMonetaryTotal/cbc:ChargeTotalAmount", "format": "double", "nullable": true }, "prepaidAmount": { "pattern": "\\d+(\\.\\d{1,2})?", "type": "number", "description": "Paid amount: The sum of amounts which have been paid in advance. Provide value according to document currency code.\r\n* Maps to: Invoice/cac:LegalMonetaryTotal/cbc:PrepaidAmount", "format": "double", "nullable": true }, "payableRoundingAmount": { "pattern": "\\d+(\\.\\d{1,2})?", "type": "number", "description": "Rounding amount: The amount to be added to the invoice total to round the amount to be paid. Provide value according to document currency code.\r\n* Maps to: Invoice/cac:LegalMonetaryTotal/cbc:PayableRoundingAmount", "format": "double", "nullable": true }, "payableAmount": { "pattern": "\\d+(\\.\\d{1,2})?", "type": "number", "description": "Amount due for payment: The outstanding amount that is requested to be paid. Provide value according to document currency code.\r\n* Maps to: Invoice/cac:LegalMonetaryTotal/cbc:PayableAmount", "format": "double", "nullable": true } }, "additionalProperties": false }, "UblInvoiceLine": { "type": "object", "properties": { "id": { "type": "string", "description": "Document line identifier: A unique identifier for the individual line within the Document.\r\n* Maps to: Invoice/cac:InvoiceLine/cbc:ID", "nullable": true }, "note": { "type": "array", "items": { "type": "string" }, "description": "Document line note: A textual note that gives unstructured information that is relevant to the Document line.\r\n* Maps to: Invoice/cac:InvoiceLine/cbc:Note", "nullable": true }, "invoicedQuantity": { "type": "number", "description": "Quantity: The quantity of items (goods or services) that is charged in the Document line.\r\n* Maps to: Invoice/cac:InvoiceLine/cbc:InvoicedQuantity", "format": "double", "nullable": true }, "invoicedQuantityUnitCode": { "type": "string", "description": "Invoiced quantity unit of measure: The unit of measure that applies to the invoiced quantity. See: https://docs.peppol.eu/poacc/billing/3.0/codelist/UNECERec20/.\r\n* Maps to: Invoice/cac:InvoiceLine/cbc:InvoicedQuantity/@unitCode", "nullable": true }, "lineExtensionAmount": { "type": "number", "description": "Document line net amount: The total amount of the Document line. The amount is \"net\" without VAT. Provide value according to document currency code.\r\n* Maps to: Invoice/cac:InvoiceLine/cbc:LineExtensionAmount", "format": "double", "nullable": true }, "accountingCost": { "type": "string", "description": "Document line Buyer accounting reference: A textual value that specifies where to book the relevant data into the Buyer's financial accounts.\r\n* Maps to: Invoice/cac:InvoiceLine/cbc:AccountingCost", "nullable": true }, "invoicePeriod": { "type": "array", "items": { "$ref": "#/components/schemas/UblInvoiceLinePeriod" }, "description": "Document line period information.\r\n* Maps to: Invoice/cac:InvoiceLine/cac:InvoicePeriod", "nullable": true }, "orderLineReference": { "type": "array", "items": { "$ref": "#/components/schemas/UblInvoiceLineOrderLineReference" }, "description": "Referenced purchase order line information.\r\n* Maps to: Invoice/cac:InvoiceLine/cac:OrderLineReference", "nullable": true }, "documentReference": { "type": "array", "items": { "$ref": "#/components/schemas/UblInvoiceLineDocument" }, "description": "Document line object information.\r\n* Maps to: Invoice/cac:InvoiceLine/cac:DocumentReference", "nullable": true }, "allowanceCharge": { "type": "array", "items": { "$ref": "#/components/schemas/UblInvoiceAllowanceCharge" }, "description": "Allowance or charge information.\r\n* Maps to: Invoice/cac:InvoiceLine/cac:AllowanceCharge", "nullable": true }, "taxTotal": { "type": "array", "items": { "$ref": "#/components/schemas/UblInvoiceTaxTotal" }, "description": "Tax total information.\r\n* Maps to: Invoice/cac:InvoiceLine/cac:TaxTotal", "nullable": true }, "item": { "$ref": "#/components/schemas/UblInvoiceLineItem" }, "price": { "$ref": "#/components/schemas/UblInvoiceLinePrice" }, "itemPriceExtension": { "$ref": "#/components/schemas/UblInvoiceLineItemPriceExtension" } }, "additionalProperties": false }, "UblInvoiceLineDocument": { "type": "object", "properties": { "id": { "type": "string", "description": "Document line object identifier: An identifier for an object on which the document line is based, given by the Seller.\r\n* Maps to: Invoice/cac:InvoiceLine/cac:DocumentReference/cbc:ID", "nullable": true }, "idSchemeID": { "type": "string", "description": "Scheme identifier: The identification scheme identifier of the Invoice line object identifier.\r\n* Maps to: Invoice/cac:InvoiceLine/cac:DocumentReference/cbc:ID/@schemeID", "nullable": true }, "documentTypeCode": { "type": "string", "description": "Document type code: Code \\\"130\\\" MUST be used to indicate an invoice object reference. Not used for other additional documents.\r\n* Maps to: Invoice/cac:InvoiceLine/cac:DocumentReference/cbc:DocumentTypeCode", "nullable": true } }, "additionalProperties": false }, "UblInvoiceLineItem": { "type": "object", "properties": { "name": { "type": "string", "description": "Item name: A name for an item.\r\n* Maps to: Invoice/cac:InvoiceLine/cac:Item/cbc:Name", "nullable": true }, "description": { "type": "array", "items": { "type": "string" }, "description": "Item description: A description for an item.\r\n* Maps to: Invoice/cac:InvoiceLine/cac:Item", "nullable": true }, "buyersItemIdentification": { "$ref": "#/components/schemas/UblInvoiceLineItemIdentification" }, "sellersItemIdentification": { "$ref": "#/components/schemas/UblInvoiceLineItemIdentification" }, "standardItemIdentification": { "$ref": "#/components/schemas/UblInvoiceLineItemIdentification" }, "originCountry": { "$ref": "#/components/schemas/UblInvoicePostalAddressCountry" }, "commodityClassification": { "type": "array", "items": { "$ref": "#/components/schemas/UblInvoiceLineItemCommodityClassification" }, "description": "Item classification information\r\n* Maps to: Invoice/cac:InvoiceLine/cac:Item/cac:CommodityClassification", "nullable": true }, "classifiedTaxCategory": { "type": "array", "items": { "$ref": "#/components/schemas/UblInvoiceLineItemTaxCategory" }, "description": "VAT tax category information.\r\n* Maps to: Invoice/cac:InvoiceLine/cac:Item/cac:ClassifiedTaxCategory", "nullable": true }, "additionalItemProperty": { "type": "array", "items": { "$ref": "#/components/schemas/UblInvoiceLineItemAdditionalItemProperty" }, "description": "Additional item attribute information.\r\n* Maps to: Invoice/cac:InvoiceLine/cac:Item/cac:AdditionalItemProperty", "nullable": true } }, "additionalProperties": false }, "UblInvoiceLineItemAdditionalItemProperty": { "type": "object", "properties": { "name": { "type": "string", "description": "Item attribute name: The name of the attribute or property of the item.\r\n* Maps to: Invoice/cac:InvoiceLine/cac:Item/cac:AdditionalItemProperty/cbc:Name", "nullable": true }, "value": { "type": "string", "description": "Item attribute value: The value of the attribute or property of the item.\r\n* Maps to: Invoice/cac:InvoiceLine/cac:Item/cac:AdditionalItemProperty/cbc:Value", "nullable": true } }, "additionalProperties": false }, "UblInvoiceLineItemCommodityClassification": { "type": "object", "properties": { "itemClassificationCode": { "type": "string", "description": "Item classification identifier: A code for classifying the item by its type or nature.\r\n* Maps to: Invoice/cac:InvoiceLine/cac:Item/cac:CommodityClassification/cbc:ItemClassificationCode", "nullable": true }, "itemClassificationCodeListID": { "type": "string", "description": "Item classification identifier identification scheme identifier: The identification scheme identifier of the Item classification identifier.\r\n* Maps to: Invoice/cac:InvoiceLine/cac:Item/cac:CommodityClassification/cbc:ItemClassificationCode/@listID", "nullable": true }, "itemClassificationCodeListVersionID": { "type": "string", "description": "Item classification identifier version identification scheme identifier: The identification scheme version identifier of the Item classification identifier\r\n* Maps to: Invoice/cac:InvoiceLine/cac:Item/cac:CommodityClassification/cbc:ItemClassificationCode/@listVersionID", "nullable": true } }, "additionalProperties": false }, "UblInvoiceLineItemIdentification": { "type": "object", "properties": { "id": { "type": "string", "description": "Item identifier: An item identifier assigned by the Buyer/Seller or based on a registered scheme.\r\n* Maps to:\r\n * Invoice/cac:InvoiceLine/cac:Item/cac:BuyersItemIdentification/cbc:ID\r\n * Invoice/cac:InvoiceLine/cac:Item/cac:SellersItemIdentification/cbc:ID\r\n * Invoice/cac:InvoiceLine/cac:Item/cac:StandardItemIdentification/cbc:ID", "nullable": true }, "idSchemeID": { "type": "string", "description": "Item standard identifier identification scheme identifier: The identification scheme identifier of the Item standard identifier.\r\n* Maps to: Invoice/cac:InvoiceLine/cac:Item/cac:StandardItemIdentification/cbc:ID/@schemeID", "nullable": true } }, "additionalProperties": false }, "UblInvoiceLineItemPriceExtension": { "type": "object", "properties": { "amount": { "minimum": 0, "type": "number", "description": "Item price extension: The amount of the price extension. Provide value according to document currency code.\r\n* Maps to: Invoice/cac:InvoiceLine/cac:ItemPriceExtension/cbc:Amount", "format": "double", "nullable": true } }, "additionalProperties": false }, "UblInvoiceLineItemTaxCategory": { "type": "object", "properties": { "id": { "type": "string", "description": "Invoiced item VAT category code: The VAT category code for the invoiced item.\r\n* Maps to: Invoice/cac:InvoiceLine/cac:Item/cac:ClassifiedTaxCategory/cbc:ID", "nullable": true }, "percent": { "type": "number", "description": "Invoiced item VAT rate: The VAT rate, represented as percentage that applies to the invoiced item.\r\n* Maps to: Invoice/cac:InvoiceLine/cac:Item/cac:ClassifiedTaxCategory/cbc:Percent", "format": "double", "nullable": true }, "taxExemptionReason": { "type": "array", "items": { "type": "string" }, "description": "* Maps to: Invoice/cac:InvoiceLine/cac:Item/cac:ClassifiedTaxCategory/cbc:TaxExemptionReason", "nullable": true }, "taxScheme": { "$ref": "#/components/schemas/UblInvoiceTaxScheme" } }, "additionalProperties": false }, "UblInvoiceLineOrderLineReference": { "type": "object", "properties": { "lineID": { "type": "string", "description": "Referenced purchase order line reference: An identifier for a referenced line within a purchase order, issued by the Buyer.\r\n* Maps to: Invoice/cac:InvoiceLine/cac:OrderLineReference/cbc:LineID", "nullable": true } }, "additionalProperties": false }, "UblInvoiceLinePeriod": { "type": "object", "properties": { "startDate": { "type": "string", "description": "Document line period start date: The date when the Document period for this Document line starts.\r\n* Maps to: Invoice/cac:InvoiceLine/cac:InvoicePeriod/cbc:StartDate", "format": "date-time", "nullable": true }, "endDate": { "type": "string", "description": "Document line period end date: The date when the Document period for this Document line ends.\r\n* Maps to: Invoice/cac:InvoiceLine/cac:InvoicePeriod/cbc:EndDate", "format": "date-time", "nullable": true } }, "additionalProperties": false }, "UblInvoiceLinePrice": { "type": "object", "properties": { "priceAmount": { "minimum": 0, "type": "number", "description": "Item net price: The price of an item, exclusive of VAT, after subtracting item price discount. Item price can not be negative. Provide value according to document currency code.\r\n* Maps to: Invoice/cac:InvoiceLine/cac:Price/cbc:PriceAmount", "format": "double", "nullable": true }, "baseQuantity": { "type": "number", "description": "Item price base quantity: The number of item units to which the price applies.\r\n* Maps to: Invoice/cac:InvoiceLine/cac:Price/cbc:BaseQuantity", "format": "double", "nullable": true }, "baseQuantityUnitCode": { "type": "string", "description": "Item price base quantity unit of measure code: The unit of measure that applies to the Item price base quantity, must be the same as the unit code of the Invoiced/credited quantity.\r\n* Maps to: Invoice/cac:InvoiceLine/cac:Price/cbc:BaseQuantity/@unitCode", "nullable": true }, "allowanceCharge": { "type": "array", "items": { "$ref": "#/components/schemas/UblInvoiceLinePriceAllowanceCharge" }, "description": "Item price allowance and charge information.\r\n* Maps to: Invoice/cac:InvoiceLine/cac:Price/cac:AllowanceCharge", "nullable": true } }, "additionalProperties": false }, "UblInvoiceLinePriceAllowanceCharge": { "type": "object", "properties": { "chargeIndicator": { "type": "boolean", "description": "Charge indicator: Whether this information describes a charge (true) or a discount allowance (false).\r\n* Default: false\r\n* Maps to: Invoice/cac:InvoiceLine/cac:Price/cac:AllowanceCharge/cbc:Amount", "nullable": true }, "amount": { "type": "number", "description": "Item price discount: The total discount subtracted from the Item gross price to calculate the Item net price. Provide value according to document currency code.\r\n* Maps to: Invoice/cac:InvoiceLine/cac:Price/cac:AllowanceCharge/cbc:Amount", "format": "double", "nullable": true }, "baseAmount": { "minimum": 0, "type": "number", "description": "Item gross price: The unit price, exclusive of VAT, before subtracting Item price discount. Must not be negative. Provide value according to document currency code.\r\n* Maps to: Invoice/cac:InvoiceLine/cac:Price/cac:AllowanceCharge/cbc:BaseAmount", "format": "double", "nullable": true }, "taxCategory": { "type": "array", "items": { "$ref": "#/components/schemas/UblInvoiceAllowanceChargeTaxCategory" }, "description": "Document level allowance or charge VAT category information.\r\n* Maps to: Invoice/cac:AllowanceCharge/cac:TaxCategory", "nullable": true } }, "additionalProperties": false }, "UblInvoiceOrder": { "type": "object", "properties": { "id": { "type": "string", "description": "Purchase order reference: An identifier of a referenced purchase order, issued by the Buyer. Maps to:\r\n* Maps to: Invoice/cac:OrderReference/cbc:ID", "nullable": true }, "salesOrderID": { "type": "string", "description": "Sales order reference: An identifier of a referenced sales order, issued by the Seller. Maps to:\r\n* Maps to: Invoice/cac:OrderReference/cbc:SalesOrderID", "nullable": true } }, "additionalProperties": false }, "UblInvoiceOriginatorDocument": { "type": "object", "properties": { "id": { "type": "string", "description": "Tender or lot reference: The identification of the call for tender or lot the invoice relates to. Maps to:\r\n* Maps to: Invoice/cac:OriginatorDocumentReference/cbc:ID", "nullable": true } }, "additionalProperties": false }, "UblInvoicePartyContact": { "type": "object", "properties": { "name": { "type": "string", "description": "Seller/Buyer contact point: A contact point for a legal entity or person.\r\n* Maps to:\r\n * Invoice/cac:AccountingSupplierParty/cac:Party/cac:Contact/cbc:Name\r\n * Invoice/cac:AccountingCustomerParty/cac:Party/cac:Contact/cbc:Name", "nullable": true }, "telephone": { "type": "string", "description": "Seller/Buyer contact telephone number: A phone number for the contact point.\r\n* Maps to:\r\n * Invoice/cac:AccountingSupplierParty/cac:Party/cac:Contact/cbc:Telephone\r\n * Invoice/cac:AccountingCustomerParty/cac:Party/cac:Contact/cbc:Telephone", "nullable": true }, "electronicMail": { "type": "string", "description": "Seller/Buyer contact email address: An e-mail address for the contact point.\r\n* Maps to:\r\n * Invoice/cac:AccountingSupplierParty/cac:Party/cac:Contact/cbc:ElectronicMail\r\n * Invoice/cac:AccountingCustomerParty/cac:Party/cac:Contact/cbc:ElectronicMail", "nullable": true } }, "additionalProperties": false }, "UblInvoicePartyIdentification": { "type": "object", "properties": { "id": { "type": "string", "description": "Party identifier or party bank assigned creditor identifier.\r\n* Maps to:\r\n * Invoice/cac:AccountingSupplierParty/cac:Party/cac:PartyIdentification/cbc:ID\r\n * Invoice/cac:AccountingCustomerParty/cac:Party/cac:PartyIdentification/cbc:ID\r\n * Invoice/cac:PayeeParty/cac:Party/cac:PartyIdentification/cbc:ID", "nullable": true }, "idSchemeID": { "type": "string", "description": "Party identifier or bank assigned creditor identifier scheme identifier: The identification scheme identifier\r\nof the party identifier. See: https://docs.peppol.eu/poacc/billing/3.0/syntax/ubl-invoice/cac-AccountingSupplierParty/cac-Party/cac-PartyIdentification/cbc-ID/schemeID/.\r\n* Maps to:\r\n * Invoice/cac:AccountingSupplierParty/cac:Party/cac:PartyIdentification/cbc:ID/@schemeID\r\n * Invoice/cac:AccountingCustomerParty/cac:Party/cac:PartyIdentification/cbc:ID/@schemeID\r\n * Invoice/cac:PayeeParty/cac:Party/cac:PartyIdentification/cbc:ID/@schemeID", "nullable": true } }, "additionalProperties": false }, "UblInvoicePartyLegalEntity": { "type": "object", "properties": { "companyID": { "type": "string", "description": "Party VAT identifier or party tax registration identifier: The party's VAT identifier (AKA VAT identification number)\r\nor the local identification of the party for tax purposes\r\n* Maps to:\r\n * Invoice/cac:AccountingSupplierParty/cac:Party/cac:PartyLegalEntity/cbc:CompanyID\r\n * Invoice/cac:AccountingCustomerParty/cac:Party/cac:PartyLegalEntity/cbc:CompanyID\r\n * Invoice/cac:PayeeParty/cac:PartyLegalEntity/cbc:CompanyID", "nullable": true }, "companyIDSchemeID": { "type": "string", "description": "Seller/Buyer legal registration identifier identification scheme identifier: The identification scheme identifier of the Seller/Buyer legal registration identifier.\r\n* Maps to:\r\n * Invoice/cac:AccountingSupplierParty/cac:Party/cac:PartyLegalEntity/cbc:CompanyID/@schemeID\r\n * Invoice/cac:AccountingCustomerParty/cac:Party/cac:PartyLegalEntity/cbc:CompanyID/@schemeID", "nullable": true }, "registrationName": { "type": "string", "description": "Seller/Buyer name: The full formal name by which the Seller or Buyer is registered.\r\n* Maps to:\r\n * Invoice/cac:AccountingSupplierParty/cac:Party/cac:PartyLegalEntity/cbc:RegistrationName\r\n * Invoice/cac:AccountingCustomerParty/cac:Party/cac:PartyLegalEntity/cbc:RegistrationName\r\n * Invoice/cac:Delivery/cac:DeliveryParty/cac:PartyLegalEntity/cbc:RegistrationName", "nullable": true }, "companyLegalForm": { "type": "string", "description": "Seller additional legal information: Additional legal information relevant for the Seller.\r\n* Maps to:\r\n * Invoice/cac:AccountingSupplierParty/cac:Party/cac:PartyLegalEntity/cbc:CompanyLegalForm", "nullable": true } }, "additionalProperties": false }, "UblInvoicePartyName": { "type": "object", "properties": { "name": { "type": "string", "description": "Party trading name: A name by which the party is known, other than party name (also known as Business name).\r\n* Maps to:\r\n * Invoice/cac:AccountingSupplierParty/cac:Party/cac:PartyName/cbc:Name\r\n * Invoice/cac:AccountingCustomerParty/cac:Party/cac:PartyName/cbc:Name\r\n * Invoice/cac:PayeeParty/cac:Party/cac:PartyName/cbc:Name\r\n * Invoice/cac:TaxRepresentativeParty/cac:PartyName/cbc:Name\r\n * Invoice/cac:Delivery/cac:DeliveryParty/cac:PartyName/cbc:Name", "nullable": true } }, "additionalProperties": false }, "UblInvoicePartyTaxScheme": { "type": "object", "properties": { "companyID": { "type": "string", "description": "Party VAT identifier or tax registration identifier: The party's VAT identifier (AKA VAT identification number)\r\nor the local identification of the party for tax purposes\r\n* Maps to:\r\n * Invoice/cac:AccountingSupplierParty/cac:Party/cac:PartyTaxScheme/cbc:CompanyID\r\n * Invoice/cac:AccountingCustomerParty/cac:Party/cac:PartyTaxScheme/cbc:CompanyID\r\n * Invoice/cac:TaxRepresentativeParty/cac:PartyTaxScheme/cbc:CompanyID\r\n * Invoice/cac:Delivery/cac:DeliveryParty/cac:PartyTaxScheme/cbc:CompanyID", "nullable": true }, "companyIDSchemeID": { "type": "string", "description": "The identification scheme of the company identifier.\r\n* Maps to:\r\n * Invoice/cac:AccountingCustomerParty/cac:Party/cac:PartyTaxScheme/cbc:CompanyID/@schemeID", "nullable": true }, "taxScheme": { "$ref": "#/components/schemas/UblInvoiceTaxScheme" } }, "additionalProperties": false }, "UblInvoicePayee": { "type": "object", "properties": { "partyIdentification": { "type": "array", "items": { "$ref": "#/components/schemas/UblInvoicePartyIdentification" }, "description": "Payee Party identification.\r\n* Maps to: Invoice/cac:PayeeParty/cac:Party/cac:PartyIdentification", "nullable": true }, "partyLegalEntity": { "type": "array", "items": { "$ref": "#/components/schemas/UblInvoicePartyLegalEntity" }, "description": "Payee legal entity information.\r\n* Maps to: Invoice/cac:PayeeParty/cac:Party/cac:PartyLegalEntity", "nullable": true }, "partyName": { "type": "array", "items": { "$ref": "#/components/schemas/UblInvoicePartyName" }, "description": "Payee name information.\r\n* Maps to:Invoice/cac:PayeeParty/cac:Party/cac:PartyName", "nullable": true } }, "additionalProperties": false }, "UblInvoicePaymentCardAccount": { "type": "object", "properties": { "primaryAccountNumberID": { "type": "string", "description": "Payment card primary account number: The Primary Account Number (PAN) of the card used for payment. For security, an invoice should never include a full card primary account number.\r\n* Maps to: Invoice/cac:PaymentMeans/cac:CardAccount/cbc:PrimaryAccountNumberID", "nullable": true }, "networkID": { "type": "string", "description": "Card Network identifier, such as VISA, American Express, Master Card.\r\n* Maps to: Invoice/cac:PaymentMeans/cac:CardAccount/cbc:NetworkID", "nullable": true }, "holderName": { "type": "string", "description": "Payment card holder name: The name of the payment card holder.\r\n* Maps to: Invoice/cac:PaymentMeans/cac:CardAccount/cbc:HolderName", "nullable": true } }, "additionalProperties": false }, "UblInvoicePaymentFinancialAccount": { "type": "object", "properties": { "id": { "type": "string", "description": "Payment account identifier: A unique identifier of the financial payment account, at a payment service provider, to which payment should be made.\r\n* Maps to: Invoice/cac:PaymentMeans/cac:PayeeFinancialAccount/cbc:ID", "nullable": true }, "name": { "type": "string", "description": "Payment account name: The name of the payment account, at a payment service provider, to which payment should be made.\r\n* Maps to: Invoice/cac:PaymentMeans/cac:PayeeFinancialAccount/cbc:Name", "nullable": true }, "paymentNote": { "type": "array", "items": { "type": "string" }, "description": "Payment Note.\r\n* Maps to: Invoice/cac:PaymentMeans/cac:PayeeFinancialAccount/cbc:PaymentNote", "nullable": true }, "financialInstitutionBranch": { "$ref": "#/components/schemas/UblInvoicePaymentFinancialInstitutionBranch" } }, "additionalProperties": false }, "UblInvoicePaymentFinancialInstitutionBranch": { "type": "object", "properties": { "id": { "type": "string", "description": "Payment service provider identifier: An identifier for the payment service provider where a payment account is located, such as BIC or a national clearing code.\r\n* Maps to: Invoice/cac:PaymentMeans/cac:PayeeFinancialAccount/cac:FinancialInstitutionBranch/cbc:ID", "nullable": true } }, "additionalProperties": false }, "UblInvoicePaymentMandate": { "type": "object", "properties": { "id": { "type": "string", "description": "Mandate reference identifier: Unique identifier assigned by the Payee for referencing the direct debit mandate.\r\n* Maps to: Invoice/cac:PaymentMeans/cac:PaymentMandate/cbc:ID", "nullable": true } }, "additionalProperties": false }, "UblInvoicePaymentMeans": { "type": "object", "properties": { "id": { "type": "string", "description": "Payment instructions identifier.\r\n* Maps to: Invoice/cac:PaymentMeans/cbc:ID", "nullable": true }, "paymentMeansCode": { "type": "string", "description": "Payment means type code: The means, expressed as code, for how a payment is to be settled.\r\n* Maps to: Invoice/cac:PaymentMeans/cbc:PaymentMeansCode", "nullable": true }, "paymentMeansCodeName": { "type": "string", "description": "Payment means text: The means, expressed as text, for how a payment is to be settled.\r\n* Maps to: Invoice/cac:PaymentMeans/cbc:PaymentMeansCode/@name", "nullable": true }, "paymentID": { "type": "array", "items": { "type": "string" }, "description": "Remittance information: A text value used to link the payment and the Invoice, issued by the Seller.\r\n* Maps to: Invoice/cac:PaymentMeans/cbc:PaymentID", "nullable": true }, "paymentIDSchemeID": { "type": "string", "description": "* Maps to: Invoice/cac:PaymentMeans/cbc:PaymentID/@schemeID", "nullable": true }, "cardAccount": { "$ref": "#/components/schemas/UblInvoicePaymentCardAccount" }, "payeeFinancialAccount": { "$ref": "#/components/schemas/UblInvoicePaymentFinancialAccount" }, "paymentMandate": { "$ref": "#/components/schemas/UblInvoicePaymentMandate" } }, "additionalProperties": false }, "UblInvoicePaymentTerms": { "type": "object", "properties": { "id": { "type": "string", "description": "Payment terms identifier.\r\n* Maps to: Invoice/cac:PaymentTerms/cbc:ID", "nullable": true }, "note": { "type": "array", "items": { "type": "string" }, "description": "Payment terms: A textual description of the payment terms that apply to the amount due.\r\n* Maps to: Invoice/cac:PaymentTerms/cbc:Note", "nullable": true } }, "additionalProperties": false }, "UblInvoicePeriod": { "type": "object", "properties": { "startDate": { "type": "string", "description": "Document period start date: The date when the Document period starts.\r\n* Maps to: Invoice/cac:InvoicePeriod/cbc:StartDate", "format": "date-time", "nullable": true }, "endDate": { "type": "string", "description": "Document period end date: The date when the Document period ends.\r\n* Maps to: Invoice/cac:InvoicePeriod/cbc:EndDate", "format": "date-time", "nullable": true }, "descriptionCode": { "type": "array", "items": { "type": "string" }, "description": "Value added tax point date code: The code of the date when the VAT becomes accountable for the Seller and for the Buyer.\r\n* Maps to: Invoice/cac:InvoicePeriod/cbc:DescriptionCode", "nullable": true } }, "additionalProperties": false }, "UblInvoicePostalAddress": { "type": "object", "properties": { "streetName": { "type": "string", "description": "Address line 1: The main address line in an address.\r\n* Maps to:\r\n * Invoice/cac:AccountingSupplierParty/cac:Party/cac:PostalAddress/cbc:StreetName\r\n * Invoice/cac:AccountingCustomerParty/cac:Party/cac:PostalAddress/cbc:StreetName\r\n * Invoice/cac:TaxRepresentativeParty/cac:PostalAddress/cbc:StreetName\r\n * Invoice/cac:Delivery/cac:DeliveryLocation/cac:Address/cbc:StreetName\r\n * Invoice/cac:Delivery/cac:DeliveryParty/cac:PostalAddress/cbc:StreetName", "nullable": true }, "additionalStreetName": { "type": "string", "description": "Address line 2: An additional address line in an address to supplement the main line.\r\n* Maps to:\r\n * Invoice/cac:AccountingSupplierParty/cac:Party/cac:PostalAddress/cbc:AdditionalStreetName\r\n * Invoice/cac:AccountingCustomerParty/cac:Party/cac:PostalAddress/cbc:AdditionalStreetName\r\n * Invoice/cac:TaxRepresentativeParty/cac:PostalAddress/cbc:AdditionalStreetName\r\n * Invoice/cac:Delivery/cac:DeliveryLocation/cac:Address/cbc:AdditionalStreetName\r\n * Invoice/cac:Delivery/cac:DeliveryParty/cac:PostalAddress/cbc:AdditionalStreetName", "nullable": true }, "buildingNumber": { "type": "string", "description": "Address building number.\r\n* Maps to:\r\n * Invoice/cac:AccountingSupplierParty/cac:Party/cac:PostalAddress/cbc:BuildingNumber\r\n * Invoice/cac:AccountingCustomerParty/cac:Party/cac:PostalAddress/cbc:BuildingNumber", "nullable": true }, "plotIdentification": { "type": "string", "description": "Address plot identification.\r\n* Maps to:\r\n * Invoice/cac:AccountingSupplierParty/cac:Party/cac:PostalAddress/cbc:PlotIdentification\r\n * Invoice/cac:AccountingCustomerParty/cac:Party/cac:PostalAddress/cbc:PlotIdentification", "nullable": true }, "cityName": { "type": "string", "description": "Address city:The common name of the city, town or village, where the address is located.\r\n* Maps to:\r\n * Invoice/cac:AccountingSupplierParty/cac:Party/cac:PostalAddress/cbc:CityName\r\n * Invoice/cac:AccountingCustomerParty/cac:Party/cac:PostalAddress/cbc:CityName\r\n * Invoice/cac:TaxRepresentativeParty/cac:PostalAddress/cbc:CityName\r\n * Invoice/cac:Delivery/cac:DeliveryLocation/cac:Address/cbc:CityName\r\n * Invoice/cac:Delivery/cac:DeliveryParty/cac:PostalAddress/cbc:CityName", "nullable": true }, "postalZone": { "type": "string", "description": "Address post code: The identifier for an addressable group of properties according to the relevant postal service.\r\n* Maps to:\r\n * Invoice/cac:AccountingSupplierParty/cac:Party/cac:PostalAddress/cbc:PostalZone\r\n * Invoice/cac:AccountingCustomerParty/cac:Party/cac:PostalAddress/cbc:PostalZone\r\n * Invoice/cac:TaxRepresentativeParty/cac:PostalAddress/cbc:PostalZone\r\n * Invoice/cac:Delivery/cac:DeliveryLocation/cac:Address/cbc:PostalZone\r\n * Invoice/cac:Delivery/cac:DeliveryParty/cac:PostalAddress/cbc:PostalZone", "nullable": true }, "citySubdivisionName": { "type": "string", "description": "Address city subdivision name.\r\n* Maps to:\r\n * Invoice/cac:AccountingSupplierParty/cac:Party/cac:PostalAddress/cbc:CitySubdivisionName\r\n * Invoice/cac:AccountingCustomerParty/cac:Party/cac:PostalAddress/cbc:CitySubdivisionName", "nullable": true }, "countrySubentity": { "type": "string", "description": "Address country subdivision: The subdivision of a country.\r\n* Maps to:\r\n * Invoice/cac:AccountingSupplierParty/cac:Party/cac:PostalAddress/cbc:CountrySubentity\r\n * Invoice/cac:AccountingCustomerParty/cac:Party/cac:PostalAddress/cbc:CountrySubentity\r\n * Invoice/cac:TaxRepresentativeParty/cac:PostalAddress/cbc:CountrySubentity\r\n * Invoice/cac:Delivery/cac:DeliveryLocation/cac:Address/cbc:CountrySubentity", "nullable": true }, "countrySubentityCode": { "type": "string", "description": "Address country subdivision code: The political or administrative division of a country in which this address is located.\r\n* Maps to:\r\n * Invoice/cac:AccountingSupplierParty/cac:Party/cac:PostalAddress/cbc:CountrySubentityCode\r\n * Invoice/cac:Delivery/cac:DeliveryParty/cac:PostalAddress/cbc:CountrySubentityCode", "nullable": true }, "addressLine": { "type": "array", "items": { "$ref": "#/components/schemas/UblInvoicePostalAddressLine" }, "description": "Additional address lines.\r\n* Maps to:\r\n * Invoice/cac:AccountingSupplierParty/cac:Party/cac:PostalAddress/cac:AddressLine\r\n * Invoice/cac:AccountingCustomerParty/cac:Party/cac:PostalAddress/cac:AddressLine\r\n * Invoice/cac:TaxRepresentativeParty/cac:PostalAddress/cac:AddressLine\r\n * Invoice/cac:Delivery/cac:DeliveryLocation/cac:Address/cac:AddressLine\r\n * Invoice/cac:Delivery/cac:DeliveryParty/cac:PostalAddress/cbc:AddressLine", "nullable": true }, "country": { "$ref": "#/components/schemas/UblInvoicePostalAddressCountry" } }, "additionalProperties": false }, "UblInvoicePostalAddressCountry": { "type": "object", "properties": { "identificationCode": { "type": "string", "description": "Address country code: A code that identifies the country. See: https://docs.peppol.eu/poacc/billing/3.0/codelist/ISO3166/.\r\n* Maps to:\r\n * Invoice/cac:AccountingSupplierParty/cac:Party/cac:PostalAddress/cac:Country/cbc:IdentificationCode\r\n * Invoice/cac:AccountingCustomerParty/cac:Party/cac:PostalAddress/cac:Country/cbc:IdentificationCode\r\n * Invoice/cac:TaxRepresentativeParty/cac:PostalAddress/cac:Country/cbc:IdentificationCode\r\n * Invoice/cac:Delivery/cac:DeliveryLocation/cac:Address/cac:Country/cbc:IdentificationCode\r\n * Invoice/cac:InvoiceLine/cac:Item/cac:OriginCountry/cbc:IdentificationCode\r\n * Invoice/cac:Delivery/cac:DeliveryParty/cac:PostalAddress/cac:Country/cbc:IdentificationCode", "nullable": true }, "identificationCodeListID": { "type": "string", "description": "Address country code list\r\n* Maps to: Invoice/cac:AccountingSupplierParty/cac:Party/cac:PostalAddress/cac:Country/cbc:IdentificationCode@listID", "nullable": true }, "identificationCodeListAgencyID": { "type": "string", "description": "Address country code list agency\r\n* Maps to: Invoice/cac:AccountingSupplierParty/cac:Party/cac:PostalAddress/cac:Country/cbc:IdentificationCode@listAgencyID", "nullable": true } }, "additionalProperties": false }, "UblInvoicePostalAddressLine": { "type": "object", "properties": { "line": { "type": "string", "description": "Address line 3: An additional address line in an address to further supplement the main line.\r\n* Maps to:\r\n * Invoice/cac:AccountingSupplierParty/cac:Party/cac:PostalAddress/cac:AddressLine/cbc:Line\r\n * Invoice/cac:AccountingCustomerParty/cac:Party/cac:PostalAddress/cac:AddressLine/cbc:Line\r\n * Invoice/cac:TaxRepresentativeParty/cac:PostalAddress/cac:AddressLine/cbc:Line\r\n * Invoice/cac:Delivery/cac:DeliveryLocation/cac:Address/cac:AddressLine/cbc:Line\r\n * Invoice/cac:Delivery/cac:DeliveryParty/cac:PostalAddress/cac:AddressLine/cbc:Line", "nullable": true } }, "additionalProperties": false }, "UblInvoicePrepaidPayment": { "type": "object", "properties": { "id": { "type": "string", "description": "Prepaid payment identifier.\r\n* Maps to: Invoice/cac:PrepaidPayment/cbc:ID", "nullable": true }, "paidAmount": { "type": "number", "description": "Prepaid payment amount. Provide value according to document currency code.\r\n* Maps to: Invoice/cac:PrepaidPayment/cbc:PaidAmount", "format": "double", "nullable": true }, "receivedDate": { "type": "string", "description": "Prepaid payment received date: The date when the prepayment was received.\r\n* Maps to: Invoice/cac:PrepaidPayment/cbc:ReceivedDate", "format": "date-time", "nullable": true }, "paidDate": { "type": "string", "description": "Prepaid payment paid date: The date when the prepayment was paid.\r\n* Maps to: Invoice/cac:PrepaidPayment/cbc:PaidDate", "format": "date-time", "nullable": true }, "paidTime": { "pattern": "^\\d{1,2}:\\d{2}:\\d{2}$", "type": "string", "description": "Prepaid payment paid time: The time when the prepayment was paid.\r\n* Default: \"00:00:00\"\r\n* Maps to: Invoice/cac:PrepaidPayment/cbc:PaidTime", "nullable": true } }, "additionalProperties": false }, "UblInvoiceProject": { "type": "object", "properties": { "id": { "type": "string", "description": "Project reference: The identification of the project the invoice refers to.\r\n* Maps to: Invoice/cac:ProjectReference/cbc:ID", "nullable": true } }, "additionalProperties": false }, "UblInvoiceReceiptDocument": { "type": "object", "properties": { "id": { "type": "string", "description": "Receiving advice reference: An identifier of a referenced receiving advice. Maps to:\r\n* Maps to: Invoice/cac:ReceiptDocumentReference/cbc:ID", "nullable": true } }, "additionalProperties": false }, "UblInvoiceSupplier": { "type": "object", "properties": { "additionalAccountID": { "type": "array", "items": { "type": "string" }, "description": "* Maps to: Invoice/cac:AccountingSupplierParty/cac:AdditionalAccountID", "nullable": true }, "additionalAccountIDSchemeAgencyName": { "type": "string", "description": "* Maps to: Invoice/cac:AccountingSupplierParty/cac:AdditionalAccountID/@schemeAgencyName", "nullable": true }, "party": { "$ref": "#/components/schemas/UblInvoiceSupplierParty" } }, "additionalProperties": false }, "UblInvoiceSupplierParty": { "type": "object", "properties": { "endpointID": { "type": "string", "description": "Seller electronic address: Identifies the Seller's electronic address to which the application response to the invoice may be delivered\r\n* Maps to: Invoice/cac:AccountingSupplierParty/cac:Party/cbc:EndpointID", "nullable": true }, "endpointIDSchemeID": { "type": "string", "description": "Electronic Address Scheme. See: https://docs.peppol.eu/poacc/billing/3.0/codelist/eas/\r\n* Maps to: Invoice/cac:AccountingSupplierParty/cac:Party/cbc:EndpointID/@schemeID", "nullable": true }, "industryClassificationCode": { "type": "string", "description": "Seller Industry Classification code representing the business nature and activity.\r\n* Maps to: Invoice/cac:AccountingSupplierParty/cac:Party/cbc:IndustryClassificationCode", "nullable": true }, "industryClassificationCodeName": { "type": "string", "description": "Seller Industry Classification name or description of the business nature and activity.\r\n* Maps to: Invoice/cac:AccountingSupplierParty/cac:Party/cbc:IndustryClassificationCode/@name", "nullable": true }, "partyIdentification": { "type": "array", "items": { "$ref": "#/components/schemas/UblInvoicePartyIdentification" }, "description": "Seller Party identification.\r\n* Maps to: Invoice/cac:AccountingSupplierParty/cac:Party/cac:PartyIdentification", "nullable": true }, "postalAddress": { "$ref": "#/components/schemas/UblInvoicePostalAddress" }, "partyLegalEntity": { "type": "array", "items": { "$ref": "#/components/schemas/UblInvoicePartyLegalEntity" }, "description": "Seller legal entity information.\r\n* Maps to: Invoice/cac:AccountingSupplierParty/cac:Party/cac:PartyLegalEntity", "nullable": true }, "partyName": { "type": "array", "items": { "$ref": "#/components/schemas/UblInvoicePartyName" }, "description": "Seller name information.\r\n* Maps to: Invoice/cac:AccountingSupplierParty/cac:Party/cac:PartyName", "nullable": true }, "partyTaxScheme": { "type": "array", "items": { "$ref": "#/components/schemas/UblInvoicePartyTaxScheme" }, "description": "Seller tax scheme information.\r\n* Maps to: Invoice/cac:AccountingSupplierParty/cac:Party/cac:PartyTaxScheme", "nullable": true }, "contact": { "$ref": "#/components/schemas/UblInvoicePartyContact" } }, "additionalProperties": false }, "UblInvoiceTaxExchangeRate": { "type": "object", "properties": { "sourceCurrencyCode": { "type": "string", "description": "Tax exchange rate source currency code.\r\n* Maps to: Invoice/cacTaxExchangeRate/cbc:SourceCurrencyCode", "nullable": true }, "targetCurrencyCode": { "type": "string", "description": "Tax exchange rate target currency code.\r\n* Maps to: Invoice/cacTaxExchangeRate/cbc:TargetCurrencyCode", "nullable": true }, "calculationRate": { "type": "number", "description": "Tax exchange calculation rate.\r\n* Maps to: Invoice/cacTaxExchangeRate/cbc:CalculationRate", "format": "double", "nullable": true } }, "additionalProperties": false }, "UblInvoiceTaxRepresentative": { "type": "object", "properties": { "partyName": { "type": "array", "items": { "$ref": "#/components/schemas/UblInvoicePartyName" }, "description": "Seller tax representative party name\r\n* Maps to:Invoice/cac:TaxRepresentativeParty/cac:PartyName", "nullable": true }, "postalAddress": { "$ref": "#/components/schemas/UblInvoicePostalAddress" }, "partyTaxScheme": { "type": "array", "items": { "$ref": "#/components/schemas/UblInvoicePartyTaxScheme" }, "description": "Seller tax representative tax scheme\r\n* Maps to: Invoice/cac:TaxRepresentativeParty/cac:PartyTaxScheme", "nullable": true } }, "additionalProperties": false }, "UblInvoiceTaxScheme": { "type": "object", "properties": { "id": { "type": "string", "description": "For Seller VAT identifier, use value \"VAT\", or for the seller tax registration identifier, use value not equal to \"VAT\".\r\nFor Buyer VAT identifier, use value \"VAT\".\r\nFor Tax Representative VAT identifier, use value \"VAT\".\r\nFor Invoice Line Item VAT identifier, use value \"VAT\".\r\nFor Allowance Charge VAT identifier, use value \"VAT\".\r\nFor Tax Subtotal VAT identifier, use value \"VAT\".\r\nFor Invoice Line Item VAT identifier, use value \"VAT\".\r\n* Default: \"VAT\"\r\n* Maps to:\r\n * Invoice/cac:AccountingSupplierParty/cac:Party/cac:PartyTaxScheme/cac:TaxScheme/cbc:ID\r\n * Invoice/cac:AccountingCustomerParty/cac:Party/cac:PartyTaxScheme/cac:TaxScheme/cbc:ID\r\n * Invoice/cac:TaxRepresentativeParty/cac:PartyTaxScheme/cac:TaxScheme/cbc:ID\r\n * Invoice/cac:InvoiceLine/cac:Item/cac:ClassifiedTaxCategory/cac:TaxScheme/cbc:ID\r\n * Invoice/cac:AllowanceCharge/cac:TaxCategory/cac:TaxScheme/cbc:ID\r\n * Invoice/cac:TaxTotal/cac:TaxSubtotal/cac:TaxCategory/cac:TaxScheme/cbc:ID\r\n * Invoice/cac:InvoiceLine/cac:Item/cac:ClassifiedTaxCategory/cac:TaxScheme/cbc:ID\r\n * Invoice/cac:InvoiceLine/cac:TaxTotal/cac:TaxSubtotal/cac:TaxCategory/cac:TaxScheme/cbc:ID", "nullable": true }, "idSchemeID": { "type": "string", "description": "* Maps to:\r\n * Invoice/cac:TaxTotal/cac:TaxSubtotal/cac:TaxCategory/cac:TaxScheme/cbc:ID/@schemeID\r\n * Invoice/cac:InvoiceLine/cac:TaxTotal/cac:TaxSubtotal/cac:TaxCategory/cac:TaxScheme/cbc:ID/@schemeID", "nullable": true }, "idSchemeAgencyID": { "type": "string", "description": "* Maps to:\r\n * Invoice/cac:TaxTotal/cac:TaxSubtotal/cac:TaxCategory/cac:TaxScheme/cbc:ID/@schemeAgencyID\r\n * Invoice/cac:InvoiceLine/cac:TaxTotal/cac:TaxSubtotal/cac:TaxCategory/cac:TaxScheme/cbc:ID/@schemeAgencyID", "nullable": true } }, "additionalProperties": false }, "UblInvoiceTaxSubtotal": { "type": "object", "properties": { "taxableAmount": { "pattern": "\\d+(\\.\\d{1,2})?", "type": "number", "description": "VAT category taxable amount: Sum of all taxable amounts subject to a specific VAT category code and VAT category rate. Provide value according to document currency code.\r\n* Maps to: Invoice/cac:TaxTotal/cac:TaxSubtotal/cbc:TaxableAmount", "format": "double", "nullable": true }, "taxAmount": { "pattern": "\\d+(\\.\\d{1,2})?", "type": "number", "description": "VAT category tax amount: The total VAT amount for a given VAT category. Provide value according to document currency code.\r\n* Maps to: Invoice/cac:TaxTotal/cac:TaxSubtotal/cbc:TaxAmount", "format": "double", "nullable": true }, "percent": { "type": "number", "description": "VAT rate: The VAT rate, represented as percentage that applies to the tax subtotal.\r\n* Maps to: Invoice/cac:InvoiceLine/cac:TaxTotal/cac:TaxSubtotal/cbc:Percent", "format": "double", "nullable": true }, "baseUnitMeasure": { "type": "number", "description": "* Maps to: Invoice/cac:InvoiceLine/cac:TaxTotal/cac:TaxSubtotal/cbc:BaseUnitMeasure", "format": "double", "nullable": true }, "baseUnitMeasureUnitCode": { "type": "string", "description": "* Maps to: Invoice/cac:InvoiceLine/cac:TaxTotal/cac:TaxSubtotal/cbc:BaseUnitMeasure/@unitCode", "nullable": true }, "perUnitAmount": { "type": "number", "description": "Tax amount when tax is applied at a certain rate per unit. Provide value according to document currency code.\r\n* Maps to: Invoice/cac:InvoiceLine/cac:TaxTotal/cac:TaxSubtotal/cbc:PerUnitAmount", "format": "double", "nullable": true }, "taxCategory": { "$ref": "#/components/schemas/UblInvoiceTaxSubtotalTaxCategory" } }, "additionalProperties": false }, "UblInvoiceTaxSubtotalTaxCategory": { "type": "object", "properties": { "id": { "type": "string", "description": "Tax subtotal VAT category code: A coded identification of what VAT category applies to the tax subtotal.\r\n* Maps to: Invoice/cac:TaxTotal/cac:TaxSubtotal/cac:TaxCategory/cbc:ID", "nullable": true }, "name": { "type": "string", "description": "Tax subtotal VAT category name.\r\n* Maps to: Invoice/cac:TaxTotal/cac:TaxSubtotal/cac:TaxCategory/cbc:Name", "nullable": true }, "percent": { "type": "number", "description": "Tax subtotal VAT rate: The VAT rate, represented as percentage that applies to the tax subtotal.\r\n* Maps to: Invoice/cac:TaxTotal/cac:TaxSubtotal/cac:TaxCategory/cbc:Percent", "format": "double", "nullable": true }, "taxExemptionReasonCode": { "type": "string", "description": "Tax subtotal VAT exemption reason code: A coded statement of the reason for why the amount is exempted from VAT.\r\n* Maps to: Invoice/cac:TaxTotal/cac:TaxSubtotal/cac:TaxCategory/cbc:TaxExemptionReasonCode", "nullable": true }, "taxExemptionReason": { "type": "array", "items": { "type": "string" }, "description": "Tax subtotal VAT exemption reason: text: A textual statement of the reason why the amount is exempted from VAT or why no VAT is being charged.\r\n* Maps to: Invoice/cac:TaxTotal/cac:TaxSubtotal/cac:TaxCategory/cbc:TaxExemptionReason", "nullable": true }, "taxScheme": { "$ref": "#/components/schemas/UblInvoiceTaxScheme" } }, "additionalProperties": false }, "UblInvoiceTaxTotal": { "type": "object", "properties": { "taxAmount": { "pattern": "\\d+(\\.\\d{1,2})?", "type": "number", "description": "Total VAT amount in accounting currency. Provide value according to document currency code.\r\n* Maps to: Invoice/cac:TaxTotal/cbc:TaxAmount", "format": "double", "nullable": true }, "taxSubtotal": { "type": "array", "items": { "$ref": "#/components/schemas/UblInvoiceTaxSubtotal" }, "description": "VAT category subtotal amount information\r\n* Maps to:\r\n * Invoice/cac:TaxTotal/cac:TaxSubtotal\r\n * Invoice/cac:InvoiceLine/cac:TaxTotal/cac:TaxSubtotal", "nullable": true } }, "additionalProperties": false } }, "securitySchemes": { "Bearer": { "type": "oauth2", "description": "OAuth 2.0 Client Credentials Flow with API Users issued from Integration Engine Management Console", "flows": { "clientCredentials": { "tokenUrl": "https://api-user.integrations.ecimanufacturing.com/oauth2/api-user/token", "scopes": { "openid": "openid" } } } } } }, "security": [ { "Bearer": [ ] } ] }