Invoice Structure
Invoice

UBL Invoice

The table below presents the essential fields required for a UBL (Universal Business Language) invoice. These fields conform to the structure defined in UBL 2.1 Invoice. It provides details such as occurrence, examples, and definitions of each field. Only relevant and mandatory fields for the General Department of Taxation (GDT), as well as commonly used fields, are included.

Ensure that when creating and submitting your document, the fields are listed in the exact sequential order as below.

Reference:

Attributes

NameOccurrenceDescription
xmlns:cac[1..1]Namespace for Common Aggregate Components, always set to "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2".
xmlns:cbc[1..1]Namespace for Common Basic Components, always set to "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2".
xmlns[1..1]Namespace for Invoice Schema, always set to "urn:oasis:names:specification:ubl:schema:xsd:Invoice-2".

Core Invoice Fields Definition

Data FieldOccurrenceDefinition
cbc:ID[1..1]An identifier for this document, assigned by the sender.
cbc:IssueDate[1..1]The date, assigned by the sender, on which this document was issued.
cbc:DueDate[0..1]The date on which invoice is due.
cbc:InvoiceTypeCode[1..1]A code signifying the type of the invoice.
cbc:DocumentCurrencyCode[1..1]The currency in which the invoice is using.
cac:AccountingSupplierParty[1..1]Party supplying the goods or services in the invoice.
cac:AccountingCustomerParty[1..1]Party to whom the goods or services are supplied.
cac:AllowanceCharge[0..n]A discount or charge that applies to the invoice on document level.
cac:TaxExchangeRate[0..1]Exchange rate applied for tax calculation in invoices involving conversion, mandatory if document currency is not Khmer Riel(KHR).
cac:TaxTotal[1..1]Total tax amount for each specific tax.
cac:LegalMonetaryTotal[1..1]Total monetary amounts for the invoice.
cac:InvoiceLine[1..n]Each individual line item of the invoice.

Sample UBL Invoice

<Invoice xmlns:cac="urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2" xmlns:cbc="urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2" xmlns="urn:oasis:names:specification:ubl:schema:xsd:Invoice-2">
  <cbc:UBLVersionID>2.1</cbc:UBLVersionID>
  <cbc:ID>24030192110</cbc:ID>
  <cbc:IssueDate>2024-03-05</cbc:IssueDate>
  <cbc:InvoiceTypeCode listID="UN/ECE 1001 Subset">388</cbc:InvoiceTypeCode>
  <cbc:DocumentCurrencyCode>USD</cbc:DocumentCurrencyCode>
  <cac:AccountingSupplierParty>
    <cac:Party>
      <cac:PartyName>
        <cbc:Name>នាសារ៉ាថ្មី ឯ.ក</cbc:Name>
      </cac:PartyName>
      <cac:PostalAddress>
        <cbc:StreetName>PP</cbc:StreetName>
        <cbc:AdditionalStreetName/>
        <cbc:CityName>Phnom Penh</cbc:CityName>
        <cbc:PostalZone/>
        <cac:Country>
          <cbc:IdentificationCode>KH</cbc:IdentificationCode>
        </cac:Country>
      </cac:PostalAddress>
      <cac:PartyTaxScheme>
        <cbc:CompanyID>23144122</cbc:CompanyID>
        <cac:TaxScheme>
          <cbc:ID>VAT</cbc:ID>
        </cac:TaxScheme>
      </cac:PartyTaxScheme>
      <cac:PartyLegalEntity>
        <cbc:RegistrationName languageID="en">NEASARANEW CO., LTD.</cbc:RegistrationName>
        <cbc:CompanyID>1010015172</cbc:CompanyID>
      </cac:PartyLegalEntity>
      <cac:PartyLegalEntity>
        <cbc:RegistrationName languageID="km">នាសារ៉ាថ្មី ឯ.ក</cbc:RegistrationName>
        <cbc:CompanyID>1010015172</cbc:CompanyID>
      </cac:PartyLegalEntity>
      <cac:Contact>
        <cbc:Name>Phaney</cbc:Name>
        <cbc:Telephone>65453322224</cbc:Telephone>
        <cbc:ElectronicMail>phenpani@gmail.com</cbc:ElectronicMail>
      </cac:Contact>
    </cac:Party>
  </cac:AccountingSupplierParty>
  <cac:AccountingCustomerParty>
    <cac:Party>
      <cac:PartyName>
        <cbc:Name>នាសារ៉ាថ្មី ឯ.ក</cbc:Name>
      </cac:PartyName>
      <cac:PostalAddress>
        <cbc:StreetName>PP</cbc:StreetName>
        <cbc:AdditionalStreetName/>
        <cbc:CityName>Phnom Penh</cbc:CityName>
        <cbc:PostalZone/>
        <cac:Country>
          <cbc:IdentificationCode>KH</cbc:IdentificationCode>
        </cac:Country>
      </cac:PostalAddress>
      <cac:PartyTaxScheme>
        <cbc:CompanyID>23144122</cbc:CompanyID>
        <cac:TaxScheme>
          <cbc:ID>VAT</cbc:ID>
        </cac:TaxScheme>
      </cac:PartyTaxScheme>
      <cac:PartyLegalEntity>
        <cbc:RegistrationName languageID="en">NEASARANEW CO., LTD.</cbc:RegistrationName>
        <cbc:CompanyID>1010015172</cbc:CompanyID>
      </cac:PartyLegalEntity>
      <cac:PartyLegalEntity>
        <cbc:RegistrationName languageID="km">នាសារ៉ាថ្មី ឯ.ក</cbc:RegistrationName>
        <cbc:CompanyID>1010015172</cbc:CompanyID>
      </cac:PartyLegalEntity>
      <cac:Contact>
        <cbc:Name>Phaney</cbc:Name>
        <cbc:Telephone>65453322224</cbc:Telephone>
        <cbc:ElectronicMail>phenpani@gmail.com</cbc:ElectronicMail>
      </cac:Contact>
    </cac:Party>
  </cac:AccountingCustomerParty>
  <cac:TaxExchangeRate>
    <cbc:SourceCurrencyCode>USD</cbc:SourceCurrencyCode>
    <cbc:TargetCurrencyCode>KHR</cbc:TargetCurrencyCode>
    <cbc:CalculationRate>4064</cbc:CalculationRate>
  </cac:TaxExchangeRate>
  <cac:TaxTotal>
    <cbc:TaxAmount currencyID="USD">1</cbc:TaxAmount>
    <cac:TaxSubtotal>
      <cbc:TaxableAmount currencyID="USD">10</cbc:TaxableAmount>
      <cbc:TaxAmount currencyID="USD">1</cbc:TaxAmount>
      <cac:TaxCategory>
        <cbc:ID>S</cbc:ID>
        <cbc:Percent>10</cbc:Percent>
        <cac:TaxScheme>
          <cbc:ID>VAT</cbc:ID>
        </cac:TaxScheme>
      </cac:TaxCategory>
    </cac:TaxSubtotal>
  </cac:TaxTotal>
  <cac:LegalMonetaryTotal>
    <cbc:LineExtensionAmount currencyID="USD">10</cbc:LineExtensionAmount>
    <cbc:TaxExclusiveAmount currencyID="USD">10</cbc:TaxExclusiveAmount>
    <cbc:TaxInclusiveAmount currencyID="USD">11</cbc:TaxInclusiveAmount>
    <cbc:PrepaidAmount currencyID="USD">0</cbc:PrepaidAmount>
    <cbc:PayableAmount currencyID="USD">11</cbc:PayableAmount>
  </cac:LegalMonetaryTotal>
  <cac:InvoiceLine>
    <cbc:ID>1</cbc:ID>
    <cbc:InvoicedQuantity unitCode="none">1</cbc:InvoicedQuantity>
    <cbc:LineExtensionAmount currencyID="USD">10</cbc:LineExtensionAmount>
    <cac:Item>
      <cbc:Description>item1</cbc:Description>
      <cbc:Name>item1</cbc:Name>
      <cac:ClassifiedTaxCategory>
        <cbc:ID>S</cbc:ID>
        <cbc:Percent>10</cbc:Percent>
        <cac:TaxScheme>
          <cbc:ID>VAT</cbc:ID>
        </cac:TaxScheme>
      </cac:ClassifiedTaxCategory>
    </cac:Item>
    <cac:Price>
      <cbc:PriceAmount currencyID="USD">10</cbc:PriceAmount>
    </cac:Price>
  </cac:InvoiceLine>
</Invoice>