Home

Peppol BIS Billing 3.0 UBL Invoice

Format: Peppol BIS Billing 3.0 UBL

{
  "bookedInvoiceIndicator": null,

  "cancelledInvoiceIndicator": null,

  <!-- IF Invoice.InvoiceTypeCode eq '380'-->
    "creditInvoiceIndicator": "false",
  <!-- ELSE -->
    "creditInvoiceIndicator": "true",

  "id": "file1.Id",

  "invoiceId": "Invoice.ID", // Invoice number. An identifier for this document, assigned by the sender.

  "issueDate": "Invoice.IssueDate",

  "dueDate": "Invoice.DueDate", // The date on which Invoice is due.

  "notes": [],

  "buyerReference": "Invoice.BuyerReference", // A reference provided by the buyer used for internal routing of the document.

  "orderReference": null,

  "documentCurrencyCode": "Invoice.DocumentCurrencyCode", // A code signifying the default currency for this document.

  "accountingCustomerParty": {

    "supplierAssignedAccountId": null,

    "party": {

      "partyIdentification ": {
        "id": "Invoice.AccountingCustomerParty.Party.PartyIdentification.ID",
        "schemeId": "SE:ORGNR"
      },

      "partyName": { // A name for this party.
        "name": "Invoice.AccountingCustomerParty.Party.PartyName.Name", // The name of the party.
        "languageId": null // The identifier of the language used in the content component.
      },

      "postalAddress": {
        "buildingNumber": null,
        "streetName": "Invoice.AccountingCustomerParty.Party.PostalAddress.StreetName",
        "additionalStreetName": "Invoice.AccountingCustomerParty.Party.PostalAddress.additionalStreetName",
        "cityName": "Invoice.AccountingCustomerParty.Party.PostalAddress.CityName",
        "postalZone": "Invoice.AccountingCustomerParty.Party.PostalAddress.PostalZone",
        "country": {
          "identificationCode": "Invoice.AccountingCustomerParty.Party.PostalAddress.Country.IdentificationCode",
          "name": null
        }
      },

      "partyLegalEntity": {
        "registrationName": "Invoice.AccountingCustomerParty.Party.PartyLegalEntity.RegistrationName",
        "companyId": {
          "id": "Invoice.AccountingCustomerParty.Party.PartyLegalEntity.CompanyID",
          "schemeId": "Invoice.AccountingCustomerParty.Party.PartyLegalEntity.CompanyID(schemeID)"
        }
      }

    }
  },

  "invoicePeriod": null,

  "accountingSupplierParty": {

    "party": {

      "partyIdentification ": {
        "id": "Invoice.AccountingSupplierParty.PartyIdentification.ID",
        "schemeId": "Invoice.AccountingSupplierParty.PartyIdentification.ID(schemeID)"
      },

      "partyName": { // A name for this party.
        "name": "Invoice.AccountingSupplierParty.Party.PartyName.Name", // The name of the party.
        "languageId": null // The identifier of the language used in the content component.
      },

      "postalAddress": {
        "buildingNumber": null,
        "streetName": "Invoice.AccountingSupplierParty.Party.PostalAddress.StreetName",
        "additionalStreetName": "Invoice.AccountingSupplierParty.Party.PostalAddress.additionalStreetName",
        "cityName": "Invoice.AccountingSupplierParty.Party.PostalAddress.CityName",
        "postalZone": "Invoice.AccountingSupplierParty.Party.PostalAddress.PostalZone",
        "country": {
          "identificationCode": "Invoice.AccountingSupplierParty.Party.PostalAddress.Country.IdentificationCode",
          "name": null
        }
      },

      "partyLegalEntity": {
        "registrationName": "Invoice.AccountingSupplierParty.Party.PartyLegalEntity.RegistrationName",
        "companyId": {
          "id": "Invoice.AccountingSupplierParty.Party.PartyLegalEntity.CompanyID",
          "schemeId": "Invoice.AccountingSupplierParty.Party.PartyLegalEntity.CompanyID(schemeID)"
        }
      }

    }
  },

  "delivery": {

    "deliveryParty": {
      "partyName": {
        "name": "Invoice.Delivery.DeliveryParty.PartyName.Name", // The party to whom the goods are delivered.
        "languageId": null
      }
    },

    "carrierParty": null,

    "actualDeliveryDate": "Invoice.Delivery.actualDeliveryDate", // The actual date of delivery.

    "deliveryAddress": { // The delivery address.
      "buildingNumber": null,
      "streetName": "Invoice.Delivery.DeliveryLocation.Address.StreetName",
      "additionalStreetName": "Invoice.Delivery.DeliveryLocation.Address.AdditionalStreetName",
      "cityName": "Invoice.Delivery.DeliveryLocation.Address.CityName",
      "postalZone": "Invoice.Delivery.DeliveryLocation.Address.PostalZone",
      "country": {
        "identificationCode": "Invoice.Delivery.DeliveryLocation.Address.Country.IdentificationCode",
        "name": null
      }
    }

  },

  "deliveryTerms": null,

  "paymentTerms": {
    "paymentTermsId": null,
    
    "notes": [
      {
        "text": "Invoice.PaymentTerms.Note", // Fakturatext nere i vänstra hörnet. Free-form text pertinent to this document, conveying information that is not contained explicitly in other structures.
        "languageId": null
      }
    ]
  },

  "paymentMeans": [

    {
      "paymentChannelCode": "Invoice.PaymentMeans.PaymentMeansCode",
      "paymentDueDate": null,
      "paymentIds": [
        {
          "id": "Invoice.PaymentMeans.PaymentID",
          "schemeId": null
        }
      ]
    }

  ],
  
  <!-- loop every Invoice.AllowanceCharge -->
  "allowanceCharges": [
    {
      "allowanceChargeId": null,
      "chargeIndicator": "Invoice.AllowanceCharge.ChargeIndicator",
      "allowanceChargeReason": "Invoice.AllowanceCharge.AllowanceChargeReason", // "property name" where we get the value for "amount" below e.g. "AdministrationFee"
      "allowanceChargeAmount": {
        "amount": "Invoice.AllowanceCharge.Amount", // e.g. "123.23"
        "currencyId": "Invoice.AllowanceCharge.Amount(currencyID)"
      },
      "TaxCategory": {
        "Percent": "Invoice.AllowanceCharge.TaxCategory.Percent"
      },
      "taxTotal": null
    },
    <!-- end loop -->
  ],

  "legalMonetaryTotal": {
    "taxInclusiveAmount": {
      "amount": "Invoice.LegalMonetaryTotal.TaxInclusiveAmount",
      "currencyId": "Invoice.LegalMonetaryTotal.TaxInclusiveAmount(currencyID)"
    },
    "payableAmount": { // The amount of the monetary total to be paid.
      "amount": "Invoice.LegalMonetaryTotal.PayableAmount",
      "currencyId": "Invoice.LegalMonetaryTotal.PayableAmount(currencyID)"
    }
  },

  <!-- loop Invoice.InvoiceLine -->
  "invoiceLines": [
    {
      "id": "Invoice.InvoiceLine.ID", // An identifier for this invoice line.

      "invoicedQuantity": {
        "quantity": "Invoice.InvoiceLine.InvoicedQuantity",
        "unitCode": "Invoice.InvoiceLine.InvoicedQuantity(unitCode)"
      },

      "lineExtensionAmount": { // The total amount for this invoice line, including allowance charges but net of taxes.
        "amount": "Invoice.InvoiceLine.LineExtensionAmount",
        "currencyId": "Invoice.InvoiceLine.LineExtensionAmount(currencyID)"
      },
      
      "delivery": null,
      
      "item": {

        "name": "Invoice.InvoiceLine.Item.Name",

        "description": "Invoice.InvoiceLine.Item.Description", // Text describing this item.

        "sellersItemIdentification": {
          "id": "Invoice.InvoiceLine.Item.StandardItemIdentification.ID",
          "extendedId": null, // An extended identifier for the item that identifies the item with specific properties, e.g., Item 123 = Chair / Item 123 Ext 45 = brown chair. Two chairs can have the same item number, but one is brown. The other is white.
          "barcodeSymbologyId": null
        },

        "classifiedTaxCategories": [ // A tax category applicable to this item.
          {
            "percent": "Invoice.InvoiceLine.Item.ClassifiedTaxCategory.Percent",
            "taxScheme": {
              "taxSchemeId": {
                "id": "Invoice.InvoiceLine.Item.ClassifiedTaxCategory.TaxScheme.ID", // An identifier for this taxation scheme.
                "schemeId": null
              }
            }
          }
        ]

      },

      "price": {

        "priceAmount": {
          "amount": "Invoice.InvoiceLine.Price.PriceAmount",
          "currencyId": "Invoice.InvoiceLine.Price.PriceAmount(currencyID)" // https://docs.zwapgrid.com/docs/code-lists#currencyid
        },

        "priceTypeCode": null
    }
  ]
  <!-- end loop -->

}