ECI Solutions Document API

The Document API from ECI Solutions — 4 operation(s) for document.

Operations 5

GET /api/v1/documents Get a list of documents #
POST /api/v1/documents Submit data for an invoice #
POST /api/v1/documents/credit-note Submit data for a credit note #
GET /api/v1/documents/{documentId} Get a single document by Id #
GET /api/v1/documents/{documentId}/download Get a single document by Id and type #

Documentation

Specifications

Other Resources

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/eci-solutions-document-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

eci-solutions-document-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Einvoice. Document API
  version: '1.0'
security:
- Bearer: []
tags:
- name: Document
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'
components:
  schemas:
    UblInvoiceDespatchDocument:
      type: object
      properties:
        id:
          type:
          - string
          - 'null'
          description: 'Despatch advice reference: An identifier of a referenced despatch advice. Maps to:

            * Maps to: Invoice/cac:DespatchDocumentReference/cbc:ID'
      additionalProperties: false
    UblInvoicePartyTaxScheme:
      type: object
      properties:
        companyID:
          type:
          - string
          - 'null'
          description: "Party VAT identifier or tax registration identifier: The party's VAT identifier (AKA VAT identification number)\nor the local identification of the party for tax purposes\n* Maps to:\n  * Invoice/cac:AccountingSupplierParty/cac:Party/cac:PartyTaxScheme/cbc:CompanyID\n  * Invoice/cac:AccountingCustomerParty/cac:Party/cac:PartyTaxScheme/cbc:CompanyID\n  * Invoice/cac:TaxRepresentativeParty/cac:PartyTaxScheme/cbc:CompanyID\n  * Invoice/cac:Delivery/cac:DeliveryParty/cac:PartyTaxScheme/cbc:CompanyID"
        companyIDSchemeID:
          type:
          - string
          - 'null'
          description: "The identification scheme of the company identifier.\n* Maps to:\n  * Invoice/cac:AccountingCustomerParty/cac:Party/cac:PartyTaxScheme/cbc:CompanyID/@schemeID"
        taxScheme:
          $ref: '#/components/schemas/UblInvoiceTaxScheme'
      additionalProperties: false
    UblInvoiceLinePeriod:
      type: object
      properties:
        startDate:
          type:
          - string
          - 'null'
          description: 'Document line period start date: The date when the Document period for this Document line starts.

            * Maps to: Invoice/cac:InvoiceLine/cac:InvoicePeriod/cbc:StartDate'
          format: date-time
        endDate:
          type:
          - string
          - 'null'
          description: 'Document line period end date: The date when the Document period for this Document line ends.

            * Maps to: Invoice/cac:InvoiceLine/cac:InvoicePeriod/cbc:EndDate'
          format: date-time
      additionalProperties: false
    UblInvoiceTaxRepresentative:
      type: object
      properties:
        partyName:
          type:
          - array
          - 'null'
          items:
            $ref: '#/components/schemas/UblInvoicePartyName'
          description: 'Seller tax representative party name

            * Maps to:Invoice/cac:TaxRepresentativeParty/cac:PartyName'
        postalAddress:
          $ref: '#/components/schemas/UblInvoicePostalAddress'
        partyTaxScheme:
          type:
          - array
          - 'null'
          items:
            $ref: '#/components/schemas/UblInvoicePartyTaxScheme'
          description: 'Seller tax representative tax scheme

            * Maps to: Invoice/cac:TaxRepresentativeParty/cac:PartyTaxScheme'
      additionalProperties: false
    ProblemDetails:
      type: object
      properties:
        type:
          type:
          - string
          - 'null'
        title:
          type:
          - string
          - 'null'
        status:
          type:
          - integer
          - 'null'
          format: int32
        detail:
          type:
          - string
          - 'null'
        instance:
          type:
          - string
          - 'null'
      additionalProperties: {}
    UblCreditNoteLine:
      type: object
      properties:
        id:
          type:
          - string
          - 'null'
          description: 'Document line identifier: A unique identifier for the individual line within the Document.

            * Maps to: CreditNote/cac:CreditNoteLine/cbc:ID'
        note:
          type:
          - array
          - 'null'
          items:
            type: string
          description: 'Document line note: A textual note that gives unstructured information that is relevant to the Document line.

            * Maps to: CreditNote/cac:CreditNoteLine/cbc:Note'
        creditedQuantity:
          type:
          - number
          - 'null'
          description: 'Quantity: The quantity of items (goods or services) that is charged in the Document line.

            * Maps to: CreditNote/cac:CreditNoteLine/cbc:CreditedQuantity'
          format: double
        creditedQuantityUnitCode:
          type:
          - string
          - 'null'
          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/.

            * Maps to: CreditNote/cac:CreditNoteLine/cbc:CreditedQuantity/@unitCode'
        lineExtensionAmount:
          type:
          - number
          - 'null'
          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.

            * Maps to: CreditNote/cac:CreditNoteLine/cbc:LineExtensionAmount'
          format: double
        accountingCost:
          type:
          - string
          - 'null'
          description: 'Document line Buyer accounting reference: A textual value that specifies where to book the relevant data into the Buyer''s financial accounts.

            * Maps to: CreditNote/cac:CreditNoteLine/cbc:AccountingCost'
        invoicePeriod:
          type:
          - array
          - 'null'
          items:
            $ref: '#/components/schemas/UblInvoiceLinePeriod'
          description: 'Document line period information.

            * Maps to: CreditNote/cac:CreditNoteLine/cac:InvoicePeriod'
        orderLineReference:
          type:
          - array
          - 'null'
          items:
            $ref: '#/components/schemas/UblInvoiceLineOrderLineReference'
          description: 'Referenced purchase order line information.

            * Maps to: CreditNote/cac:CreditNoteLine/cac:OrderLineReference'
        documentReference:
          type:
          - array
          - 'null'
          items:
            $ref: '#/components/schemas/UblInvoiceLineDocument'
          description: 'Document line object information.

            * Maps to: CreditNote/cac:CreditNoteLine/cac:DocumentReference'
        allowanceCharge:
          type:
          - array
          - 'null'
          items:
            $ref: '#/components/schemas/UblInvoiceAllowanceCharge'
          description: 'Allowance or charge information.

            * Maps to: CreditNote/cac:CreditNoteLine/cac:AllowanceCharge'
        taxTotal:
          type:
          - array
          - 'null'
          items:
            $ref: '#/components/schemas/UblInvoiceTaxTotal'
          description: 'Tax total information.

            * Maps to: CreditNote/cac:CreditNoteLine/cac:TaxTotal'
        item:
          $ref: '#/components/schemas/UblInvoiceLineItem'
        price:
          $ref: '#/components/schemas/UblInvoiceLinePrice'
        itemPriceExtension:
          $ref: '#/components/schemas/UblInvoiceLineItemPriceExtension'
      additionalProperties: false
    UblInvoiceLineItemIdentification:
      type: object
      properties:
        id:
          type:
          - string
          - 'null'
          description: "Item identifier: An item identifier assigned by the Buyer/Seller or based on a registered scheme.\n* Maps to:\n  * Invoice/cac:InvoiceLine/cac:Item/cac:BuyersItemIdentification/cbc:ID\n  * Invoice/cac:InvoiceLine/cac:Item/cac:SellersItemIdentification/cbc:ID\n  * Invoice/cac:InvoiceLine/cac:Item/cac:StandardItemIdentification/cbc:ID"
        idSchemeID:
          type:
          - string
          - 'null'
          description: 'Item standard identifier identification scheme identifier: The identification scheme identifier of the Item standard identifier.

            * Maps to: Invoice/cac:InvoiceLine/cac:Item/cac:StandardItemIdentification/cbc:ID/@schemeID'
      additionalProperties: false
    UblInvoiceBillingInvoiceDocument:
      type: object
      properties:
        id:
          type:
          - string
          - 'null'
          description: 'Preceding Invoice number: The identification of an Invoice that was previously sent by the Seller.

            * Maps to: Invoice/cac:BillingReference/cac:InvoiceDocumentReference/cbc:ID'
        uuid:
          type:
          - string
          - 'null'
        issueDate:
          type:
          - string
          - 'null'
          description: 'Preceding Invoice issue date: The date when the Preceding Invoice was issued. Maps to:

            * Maps to: Invoice/cac:BillingReference/cac:InvoiceDocumentReference/cbc:IssueDate'
          format: date-time
      additionalProperties: false
    UblInvoiceTaxSubtotal:
      type: object
      properties:
        taxableAmount:
          pattern: \d+(\.\d{1,2})?
          type:
          - number
          - 'null'
          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.

            * Maps to: Invoice/cac:TaxTotal/cac:TaxSubtotal/cbc:TaxableAmount'
          format: double
        taxAmount:
          pattern: \d+(\.\d{1,2})?
          type:
          - number
          - 'null'
          description: 'VAT category tax amount: The total VAT amount for a given VAT category. Provide value according to document currency code.

            * Maps to: Invoice/cac:TaxTotal/cac:TaxSubtotal/cbc:TaxAmount'
          format: double
        percent:
          type:
          - number
          - 'null'
          description: 'VAT rate: The VAT rate, represented as percentage that applies to the tax subtotal.

            * Maps to: Invoice/cac:InvoiceLine/cac:TaxTotal/cac:TaxSubtotal/cbc:Percent'
          format: double
        baseUnitMeasure:
          type:
          - number
          - 'null'
          description: '* Maps to: Invoice/cac:InvoiceLine/cac:TaxTotal/cac:TaxSubtotal/cbc:BaseUnitMeasure'
          format: double
        baseUnitMeasureUnitCode:
          type:
          - string
          - 'null'
          description: '* Maps to: Invoice/cac:InvoiceLine/cac:TaxTotal/cac:TaxSubtotal/cbc:BaseUnitMeasure/@unitCode'
        perUnitAmount:
          type:
          - number
          - 'null'
          description: 'Tax amount when tax is applied at a certain rate per unit. Provide value according to document currency code.

            * Maps to: Invoice/cac:InvoiceLine/cac:TaxTotal/cac:TaxSubtotal/cbc:PerUnitAmount'
          format: double
        taxCategory:
          $ref: '#/components/schemas/UblInvoiceTaxSubtotalTaxCategory'
      additionalProperties: false
    UblInvoiceBilling:
      type: object
      properties:
        invoiceDocumentReference:
          $ref: '#/components/schemas/UblInvoiceBillingInvoiceDocument'
        additionalDocumentReference:
          $ref: '#/components/schemas/UblInvoiceBillingAdditionalDocument'
      additionalProperties: false
    UblInvoiceLineOrderLineReference:
      type: object
      properties:
        lineID:
          type:
          - string
          - 'null'
          description: 'Referenced purchase order line reference: An identifier for a referenced line within a purchase order, issued by the Buyer.

            * Maps to: Invoice/cac:InvoiceLine/cac:OrderLineReference/cbc:LineID'
      additionalProperties: false
    UblInvoiceTaxScheme:
      type: object
      properties:
        id:
          type:
          - string
          - 'null'
          description: "For Seller VAT identifier, use value \"VAT\", or for the seller tax registration identifier, use value not equal to \"VAT\".\nFor Buyer VAT identifier, use value \"VAT\".\nFor Tax Representative VAT identifier, use value \"VAT\".\nFor Invoice Line Item VAT identifier, use value \"VAT\".\nFor Allowance Charge VAT identifier, use value \"VAT\".\nFor Tax Subtotal VAT identifier, use value \"VAT\".\nFor Invoice Line Item VAT identifier, use value \"VAT\".\n* Default: \"VAT\"\n* Maps to:\n  * Invoice/cac:AccountingSupplierParty/cac:Party/cac:PartyTaxScheme/cac:TaxScheme/cbc:ID\n  * Invoice/cac:AccountingCustomerParty/cac:Party/cac:PartyTaxScheme/cac:TaxScheme/cbc:ID\n  * Invoice/cac:TaxRepresentativeParty/cac:PartyTaxScheme/cac:TaxScheme/cbc:ID\n  * Invoice/cac:InvoiceLine/cac:Item/cac:ClassifiedTaxCategory/cac:TaxScheme/cbc:ID\n  * Invoice/cac:AllowanceCharge/cac:TaxCategory/cac:TaxScheme/cbc:ID\n  * Invoice/cac:TaxTotal/cac:TaxSubtotal/cac:TaxCategory/cac:TaxScheme/cbc:ID\n  * Invoice/cac:InvoiceLine/cac:Item/cac:ClassifiedTaxCategory/cac:TaxScheme/cbc:ID\n  * Invoice/cac:InvoiceLine/cac:TaxTotal/cac:TaxSubtotal/cac:TaxCategory/cac:TaxScheme/cbc:ID"
        idSchemeID:
          type:
          - string
          - 'null'
          description: "* Maps to:\n  * Invoice/cac:TaxTotal/cac:TaxSubtotal/cac:TaxCategory/cac:TaxScheme/cbc:ID/@schemeID\n  * Invoice/cac:InvoiceLine/cac:TaxTotal/cac:TaxSubtotal/cac:TaxCategory/cac:TaxScheme/cbc:ID/@schemeID"
        idSchemeAgencyID:
          type:
          - string
          - 'null'
          description: "* Maps to:\n  * Invoice/cac:TaxTotal/cac:TaxSubtotal/cac:TaxCategory/cac:TaxScheme/cbc:ID/@schemeAgencyID\n  * Invoice/cac:InvoiceLine/cac:TaxTotal/cac:TaxSubtotal/cac:TaxCategory/cac:TaxScheme/cbc:ID/@schemeAgencyID"
      additionalProperties: false
    UblInvoicePostalAddressCountry:
      type: object
      properties:
        identificationCode:
          type:
          - string
          - 'null'
          description: "Address country code: A code that identifies the country. See: https://docs.peppol.eu/poacc/billing/3.0/codelist/ISO3166/.\n* Maps to:\n  * Invoice/cac:AccountingSupplierParty/cac:Party/cac:PostalAddress/cac:Country/cbc:IdentificationCode\n  * Invoice/cac:AccountingCustomerParty/cac:Party/cac:PostalAddress/cac:Country/cbc:IdentificationCode\n  * Invoice/cac:TaxRepresentativeParty/cac:PostalAddress/cac:Country/cbc:IdentificationCode\n  * Invoice/cac:Delivery/cac:DeliveryLocation/cac:Address/cac:Country/cbc:IdentificationCode\n  * Invoice/cac:InvoiceLine/cac:Item/cac:OriginCountry/cbc:IdentificationCode\n  * Invoice/cac:Delivery/cac:DeliveryParty/cac:PostalAddress/cac:Country/cbc:IdentificationCode"
        identificationCodeListID:
          type:
          - string
          - 'null'
          description: 'Address country code list

            * Maps to: Invoice/cac:AccountingSupplierParty/cac:Party/cac:PostalAddress/cac:Country/cbc:IdentificationCode@listID'
        identificationCodeListAgencyID:
          type:
          - string
          - 'null'
          description: 'Address country code list agency

            * Maps to: Invoice/cac:AccountingSupplierParty/cac:Party/cac:PostalAddress/cac:Country/cbc:IdentificationCode@listAgencyID'
      additionalProperties: false
    UblInvoiceCustomer:
      type: object
      properties:
        party:
          $ref: '#/components/schemas/UblInvoiceCustomerParty'
      additionalProperties: false
    UblInvoiceLinePriceAllowanceCharge:
      type: object
      properties:
        chargeIndicator:
          type:
          - boolean
          - 'null'
          description: 'Charge indicator: Whether this information describes a charge (true) or a discount allowance (false).

            * Default: false

            * Maps to: Invoice/cac:InvoiceLine/cac:Price/cac:AllowanceCharge/cbc:Amount'
        amount:
          type:
          - number
          - 'null'
          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.

            * Maps to: Invoice/cac:InvoiceLine/cac:Price/cac:AllowanceCharge/cbc:Amount'
          format: double
        baseAmount:
          minimum: 0
          type:
          - number
          - 'null'
          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.

            * Maps to: Invoice/cac:InvoiceLine/cac:Price/cac:AllowanceCharge/cbc:BaseAmount'
          format: double
        taxCategory:
          type:
          - array
          - 'null'
          items:
            $ref: '#/components/schemas/UblInvoiceAllowanceChargeTaxCategory'
          description: 'Document level allowance or charge VAT category information.

            * Maps to: Invoice/cac:AllowanceCharge/cac:TaxCategory'
      additionalProperties: false
    UblInvoicePaymentCardAccount:
      type: object
      properties:
        primaryAccountNumberID:
          type:
          - string
          - 'null'
          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.

            * Maps to: Invoice/cac:PaymentMeans/cac:CardAccount/cbc:PrimaryAccountNumberID'
        networkID:
          type:
          - string
          - 'null'
          description: 'Card Network identifier, such as VISA, American Express, Master Card.

            * Maps to: Invoice/cac:PaymentMeans/cac:CardAccount/cbc:NetworkID'
        holderName:
          type:
          - string
          - 'null'
          description: 'Payment card holder name: The name of the payment card holder.

            * Maps to: Invoice/cac:PaymentMeans/cac:CardAccount/cbc:HolderName'
      additionalProperties: false
    UblInvoicePaymentTerms:
      type: object
      properties:
        id:
          type:
          - string
          - 'null'
          description: 'Payment terms identifier.

            * Maps to: Invoice/cac:PaymentTerms/cbc:ID'
        note:
          type:
          - array
          - 'null'
          items:
            type: string
          description: 'Payment terms: A textual description of the payment terms that apply to the amount due.

            * Maps to: Invoice/cac:PaymentTerms/cbc:Note'
      additionalProperties: false
    UblInvoiceLineDocument:
      type: object
      properties:
        id:
          type:
          - string
          - 'null'
          description: 'Document line object identifier: An identifier for an object on which the document line is based, given by the Seller.

            * Maps to: Invoice/cac:InvoiceLine/cac:DocumentReference/cbc:ID'
        idSchemeID:
          type:
          - string
          - 'null'
          description: 'Scheme identifier: The identification scheme identifier of the Invoice line object identifier.

            * Maps to: Invoice/cac:InvoiceLine/cac:DocumentReference/cbc:ID/@schemeID'
        documentTypeCode:
          type:
          - string
          - 'null'
          description: 'Document type code: Code \"130\" MUST be used to indicate an invoice object reference. Not used for other additional documents.

            * Maps to: Invoice/cac:InvoiceLine/cac:DocumentReference/cbc:DocumentTypeCode'
      additionalProperties: false
    UblInvoicePayee:
      type: object
      properties:
        partyIdentification:
          type:
          - array
          - 'null'
          items:
            $ref: '#/components/schemas/UblInvoicePartyIdentification'
          description: 'Payee Party identification.

            * Maps to: Invoice/cac:PayeeParty/cac:Party/cac:PartyIdentification'
        partyLegalEntity:
          type:
          - array
          - 'null'
          items:
            $ref: '#/components/schemas/UblInvoicePartyLegalEntity'
          description: 'Payee legal entity information.

            * Maps to: Invoice/cac:PayeeParty/cac:Party/cac:PartyLegalEntity'
        partyName:
          type:
          - array
          - 'null'
          items:
            $ref: '#/components/schemas/UblInvoicePartyName'
          description: 'Payee name information.

            * Maps to:Invoice/cac:PayeeParty/cac:Party/cac:PartyName'
      additionalProperties: false
    Metadata:
      type: object
      properties:
        type:
          type:
          - string
          - 'null'
        isBase64Encoded:
          type:
          - boolean
          - 'null'
      additionalProperties: false
    UblInvoiceReceiptDocument:
      type: object
      properties:
        id:
          type:
          - string
          - 'null'
          description: 'Receiving advice reference: An identifier of a referenced receiving advice. Maps to:

            * Maps to: Invoice/cac:ReceiptDocumentReference/cbc:ID'
      additionalProperties: false
    UblInvoiceDeliveryParty:
      type: object
      properties:
        partyIdentification:
          type:
          - array
          - 'null'
          items:
            $ref: '#/components/schemas/UblInvoicePartyIdentification'
          description: 'Deliver to party identification.

            * Maps to: Invoice/cac:Delivery/cac:DeliveryParty/cac:PartyIdentification'
        partyName:
          type:
          - array
          - 'null'
          items:
            $ref: '#/components/schemas/UblInvoicePartyName'
          description: 'Deliver to party name: The name of the party to which the goods and services are delivered.

            * Maps to: Invoice/cac:Delivery/cac:DeliveryParty/cac:PartyName'
        postalAddress:
          $ref: '#/components/schemas/UblInvoicePostalAddress'
        partyLegalEntity:
          type:
          - array
          - 'null'
          items:
            $ref: '#/components/schemas/UblInvoicePartyLegalEntity'
          description: 'Deliver to party legal entity information.

            * Maps to: Invoice/cac:Delivery/cac:DeliveryParty/cac:PartyLegalEntity'
        partyTaxScheme:
          type:
          - array
          - 'null'
          items:
            $ref: '#/components/schemas/UblInvoicePartyTaxScheme'
          description: '* Maps to: Invoice/cac:Delivery/cac:DeliveryParty/cac:PartyTaxScheme'
      additionalProperties: false
    UblInvoiceLinePrice:
      type: object
      properties:
        priceAmount:
          minimum: 0
          type:
          - number
          - 'null'
          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.

            * Maps to: Invoice/cac:InvoiceLine/cac:Price/cbc:PriceAmount'
          format: double
        baseQuantity:
          type:
          - number
          - 'null'
          description: 'Item price base quantity: The number of item units to which the price applies.

            * Maps to: Invoice/cac:InvoiceLine/cac:Price/cbc:BaseQuantity'
          format: double
        baseQuantityUnitCode:
          type:
          - string
          - 'null'
          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.

            * Maps to: Invoice/cac:InvoiceLine/cac:Price/cbc:BaseQuantity/@unitCode'
        allowanceCharge:
          type:
          - array
          - 'null'
          items:
            $ref: '#/components/schemas/UblInvoiceLinePriceAllowanceCharge'
          description: 'Item price allowance and charge information.

            * Maps to: Invoice/cac:InvoiceLine/cac:Price/cac:AllowanceCharge'
      additionalProperties: false
    UblInvoiceDeliveryShipment:
      type: object
      properties:
        id:
          type:
          - string
          - 'null'
          description: '* Maps to: Invoice/cac:Delivery/cac:Shipment/cbc:ID'
        consignment:
          type:
          - array
          - 'null'
          items:
            $ref: '#/components/schemas/UblInvoiceDeliveryShipmentConsignment'
          description: '* Maps to: Invoice/cac:Delivery/cac:Shipment/cac:Consignment'
        freightAllowanceCharge:
          type:
          - array
          - 'null'
          items:
            $ref: '#/components/schemas/UblInvoiceDeliveryShipmentFreightAllowanceCharge'
          description: '* Maps to: Invoice/cac:Delivery/cac:Shipment/cac:FreightAllowanceCharge'
      additionalProperties: false
    UblInvoiceAdditionalDocument:
      type: object
      properties:
        id:
          type:
          - string
          - 'null'
          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.

            * Maps to: Invoice/cac:AdditionalDocumentReference/cbc:ID'
        idSchemeID:
          type:
          - string
          - 'null'
          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/.

            * Maps to: Invoice/cac:AdditionalDocumentReference/cbc:ID/@schemeID'
        documentTypeCode:
          type:
          - string
          - 'null'
          description: 'Document type code: Code \"130\" MUST be used to indicate an invoice object reference. Not used for other additional documents.

            * Maps to: Invoice/cac:AdditionalDocumentReference/cbc:DocumentTypeCode'
        documentDescription:
          type:
          - array
          - 'null'
          items:
            type: string
          description: 'Supporting document description: A description of the supporting document, such as timesheet, usage report, etc.

            * Maps to: Invoice/cac:AdditionalDocumentReference/cbc:DocumentDescription'
        attachment:
          $ref: '#/components/schemas/UblInvoiceAdditionalDocumentAttachment'
      additionalProperties: false
    UblInvoicePaymentMandate:
      type: object
      properties:
        id:
          type:
          - string
          - 'null'
          description: 'Mandate reference identifier: Uniq

# --- truncated at 32 KB (98 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/eci-solutions/refs/heads/main/openapi/eci-solutions-document-api-openapi.yml