E-Invoice Object
An E-Invoice object has the following schema:
1. Document Data
Id
String
-
Mandatory. Document reference number used by Supplier for internal tracking purpose.
IssueDate
String
Format:
YYYY-MM-DD
Mandatory. Date of issuance of the e-Invoice
*Note that the date must be the current date
IssueTime
String
Format: HH:mm:ss (24 hr format)
Mandatory. Time of issuance of the e-Invoice
*Note that the time must be the current time
InvoiceTypeCode
Object
-
DocumentCurrencyCode
String
Enum: ISO code list 4217 alpha-3
Mandatory. Specific currency that is used to represent the monetary value stated in the e-Invoice. Default: "MYR".
TaxCurrencyCode
String
Enum: ISO code list 4217 alpha-3
Optional. Specific currency that is used to represent the tax monetary value stated in the e-Invoice. Default: "MYR".
TaxExchangeRate
Object
-
Mandatory. Tax Exchange Rate Object
TaxExchangeRate.CalculationRate
String
MaxLength: 15
Optional, add wherever applicable.Rate at which non-Malaysian currency will be converted into Malaysian Ringgit.
InvoicePeriod
Object
-
Optional. Represents Billing Period Details. Refer to Invoice Period Object
AccountingSupplierParty
Object
-
Mandatory. Accounting Supplier Party Object
AccountingCustomerParty
Object
-
Mandatory. Accounting Customer Party Object
Delivery
Object
-
Mandatory where applicable
InvoiceLine
Array
-
Mandatory. Array of Invoice Line Item Objects
PaymentMeans
Object
-
Conditional. Required in case of Standard Tax Invoice, Standard Credit Note, Standard Debit Note, Simplified Credit Note and Simplified Debit Note. Not required in case of Simplified Tax Invoice. Array of Payment Means Object
PaymentTerms
Object
-
Optional. Payment Terms Object
PrepaidPayment
Object
Optional. Prepaid Payment Object
BillingReference
Array
-
Optional. Supplier’s internal billing reference details to facilitate payment from Buyer. Billing Reference. Object
LegalMonetaryTotal
Object
-
Mandatory. Legal Monetary Total Object
TaxTotal
Array
-
Mandatory. Array of Tax Total Objects
AllowanceCharge
Array
-
Conditional. Required in case of invoice level discount. Allowance Charge Object
AdditionalDocumentReference
Array ()
NA
Mandatory where applicable.
1.1 Invoice Type Code Object
Value
Enum
INVOICE,
CREDIT_NOTE,
DEBIT_NOTE,
REFUND_NOTE, SELF_BILLED_INVOICE, SELF_BILLED_CREDIT_NOTE, SELF_BILLED_DEBIT_NOTE, SELF_BILLED_REFUND_NOTE
Mandatory. Value specifying the functional type of the Invoice. The document type must be equal to one of values from the subset of Enum
1.2 Invoice Period Object
StartDate
Date
yyyy-mm-dd
Max Length: 10
Billing Period Start Date
EndDate
Date
yyyy-mm-dd
Max Length: 10
Billing Period End Date
Description
String
Max Length: 50
Frequency of the invoice (e.g., Daily, Weekly, Biweekly, Monthly, Bimonthly, Quarterly, Half-yearly, Yearly, Others / Not Applicable)
1.3 Payment Terms Object
Note
String
Max Length: 300
Optional. An agreed-upon payment terms and conditions e.g., timing and method of payment
1.4 Prepaid Payment Object
PaidAmount
Amount Object
-
Optional.Monetary value that is prepaid by the Buyer in order to fulfill the financial obligation.
Please add currencyID attribute to the XML element.
PaidDate
Date
yyyy-mm-dd
Max Length: 10
Optional.Date of prepayment received
PaidTime
Time
hh:mm:ss
Max Length: 12
Optional.Time of prepayment received
Id
String
MaxLength: 150
Optional. Unique identifier assigned to trace payment
1.5 Billing Reference Object
AdditionalDocumentReference
Object
-
-
AdditionalDocumentReference.Id
String
MaxLength: 150
Mandatory where applicable. Document number of original invoice / document that is being affected / adjusted. Applicable where a debit note, credit note or refund note e-Invoice is issued. Self-billed versions can only refer to Self-Billed Invoice, and normal versions can only refer to Normal Invoices.
1.6 Legal Monetary Total Object
TaxExclusiveAmount
Amount Object
currencyId=’MYR’
Mandatory. Sum of amount payable (inclusive of applicable discounts and charges), excluding any applicable taxes (e.g., sales tax, service tax)
TaxInclusiveAmount
Amount Object
-
Mandatory. Sum of amount payable inclusive of total taxes chargeable (e.g., sales tax, service tax).
PayableAmount
Amount Object
-
Mandatory. Sum of amount payable (inclusive of total taxes chargeable) excluding any amount paid in advance and any rounding adjustment.
LineExtensionAmount
Amount Object
-
Optional. Sum of total amount payable (inclusive of applicable line item and invoice level discounts and charges), excluding any applicable taxes (e.g., sales tax, service tax).
AllowanceTotalAmount
Amount Object
-
Optional. Total amount deducted from the original price of a product or service.
ChargeTotalAmount
Amount Object
-
Optional. Total charge associated with the product or service imposed after tax.
PayableRoundingAmount
Amount Object
-
Optional, where applicable. Rounding amount added to the amount payable.
PrepaidAmount
Amount Object
-
Optional
1.7 Tax Total Object
TaxAmount
Amount Object
-
Mandatory. Total amount of tax payable
TaxSubtotal[]
Array
-
Mandatory. One or more Tax Subtotal objects.
1.7.1 Tax SubTotal Object
TaxableAmount
Amount Object
-
Optional where applicable. Sum of amount chargeable for each tax type
TaxAmount
Amount Object
-
Mandatory. Total amount of tax payable for each tax type
TaxCategory
Object
-
Mandatory. Tax Category Object
1.7.2 Tax Category Object
Id
String
E
Mandatory if tax exemption is applicable
TaxExemptionReason
String
MaxLength: 300
Mandatory if tax exemption is applicable. Description of tax exemption applicable.(e.g., Buyer’s sales tax exemption certificate number, special exemption as per gazette orders, etc.). The input of special characters is not allowed, except for dash (-).
1.8 Document Allowance Charge Object
ChargeIndicator
String
-
Mandatory. An indicator that this AllowanceCharge describes a discount. The value of this tag indicating discount (Allowance) must be ""false""." Else true
Amount
Amount Object
-
Optional. Total amount deducted from the original price of a product or service
Or
Each Document level charge (BG-21) shall have a Document level charge amount (BT-99).
Please add currencyID attribute to the XML element.
AllowanceChargeReason
String
-
Optional. Contain the description of the additional discount applied or description of the additional fees
1.9 Delivery Object
DeliveryParty
Object
-
Optional
Shipment.FreightAllowanceCharge
Object. Shipment Object
-
Optional. Details of Other Charges. Details of additional charges, along with the amount payable
1.9.1 Delivery Party Object
PartyLegalEntity.RegistrationName
String
-
Name of shipping recipient of the products included in the e-Invoice in a commercial transaction
PartyIdentification.Id.Value
String
Max Length: 14
Optional. TIN of the shipping recipient assigned by IRBM
PartyIdentification.Id.SchemeID
String
- NRIC VARCHAR (12 CHAR)
- PASSPORT VARCHAR (12 CHAR)
- BRN VARCHAR (20 CHAR)
- ARMY VARCHAR (12 CHAR)
- SST
- TTX
- TIN
Optional. For businesses: Business registration number For Malaysian individual: MyKad identification number
For non-Malaysian individual: Passport number
PostalAddress
Object. Postal Address Object
-
Optional
1.9.2 Shipment Object
ChargeIndicator
Boolean
-
Optional
AllowanceChargeReason
String
MaxLength: 300
Optional
Amount
Amount
-
Optional
1.10 Additional Document Reference list
AdditionalDocumentReference[0]
-
Mandatory where applicable. Object takes input for Reference Number of Customs Form No.1, 9, etc. Takes input the Unique identifier assigned on the Declaration of Goods Imported.The input of special characters is not allowed.
AdditionalDocumentReference[1]
-
Optional. Free Trade Agreement (FTA)
Information
[For export only, if applicable]. i.e. Details, provisions and requirements outlined within a trade agreement between two or more countries. The input of special characters is not allowed, except for dash (-), open bracket (() and closed bracket ()).
AdditionalDocumentReference[2]
-
Optional. Contains Reference Number of Customs Form No.2 information. i.e. Unique identifier assigned on the Declaration of Goods Exported.The input of special characters is not allowed.
AdditionalDocumentReference[3]
-
Optional. Contains info about Incoterms i.e. A set of international trade rules that define the responsibilities of buyers and suppliers.The input of special characters is not allowed.
1.10.1 Additional Document Reference Object
Id
String
Max Length: 12
Mandatory where applicable. Unique identifier assigned on the Declaration of Goods Imported.The input of special characters is not allowed. OR FTA for Free Trade Agreement
DocumentType
String
CustomsImportForm,
FreeTradeAgreement,
K2
Mandatory where applicable. Invoice counter value. Default: Clear will try to generate the ICV based on configuration.
DocumentDescription
String
Max Length: 300
Mandatory where applicable.(Can be applicable for FTA Agreement) Details, provisions and requirements outlined within a trade agreement between two or more countries. The input of special characters is not allowed, except for dash (-), open bracket (() and closed bracket ()).
1.11 Accounting Supplier Party Object
Party
Object
-
Mandatory. Supplier Party Object.
AdditionalAccountID
String
Max Length: 300
Optional. A unique identification number or code used for validation of a certified exporter by the relevant authority. The input of special characters is not allowed, except for dash (-)
Party.PartyLegalEntity
Object
-
Mandatory. Seller Party Legal Entity Object
Party.PartyLegalEntity.RegistrationName
String
-
Conditional. Name of business or individual who will be the issuer of the e-Invoice.
Party.PartyIdentification
Array
-
Mandatory. Supplier Party Identification Object.
Party.PartyIdentification.Id
Object
-
Mandatory. Supplier Party Identification ID Object.
Party.PartyIdentification.Id.Value
String
Alphanumeric
Mandatory: ID from the below list:
TIN (14 CHAR)
NRIC (12 CHAR)
PASSPORT (12 CHAR)
BRN (20 CHAR)
ARMY (12 CHAR)
SST (17 CHAR)
TTX (17 CHAR)
Party.PartyIdentification.Id.SchemeID
String
Enum: TIN/NRIC/PASSPORT/BRN/ARMY
Mandatory ID is one of the list:
TIN (14 CHAR)
NRIC (12 CHAR)
PASSPORT (12 CHAR)
BRN (20 CHAR)
ARMY (12 CHAR)
SST (17 CHAR)
TTX (17 CHAR)
Party.Contact
Object
-
Optional
Party.Contact.ElectronicMail
String
MaxLength: 320
Optional
Party.Contact.Telephone
String
MaxLength: 20
Mandatory. Example: +60-123456789
Party.IndustryClassificationCode
String
-
Mandatory
Party.IndustryClassificationCode.Value
String
-
Party.IndustryClassificationCode.Name
String
MaxLength: 300
Mandatory. Supplier’s Business Activity Description
Party.PostalAddress
Object. Postal Address Object
-
Mandatory. Seller Postal Address object. Seller address must contain additional number, street name, building number, postal code, city, Neighborhood, country code.
1.11.1 Postal Address Object
AddressLine
Array
Min Size: 1
Max Size: 3
Mandatory.
AddressLine.Line
String
MaxLength: 150
Mandatory. Seller address line - the main address line in an address.
PostalZone
String
Numerals MinLen: 5 MaxLen: 5
Optional. The identifier for an addressable group of properties according to the relevant postal service. Ex 50480
CityName
String
-
The common name of the city, town or village, where the Seller address is located.
CountrySubentityCode
String
-
Country
Object
-
Mandatory
Country.IdentificationCode
Object
-
Country Identification
Country.IdentificationCode.CountryCode
String
Equal: "MYS"
1.12 Accounting Customer Party Object
Party
Object
-
Buyer Party Object.
Party.PartyLegalEntity
Object
-
Conditional.
Buyer Party Legal Entity Object
Party.PartyLegalEntity.RegistrationName
String
-
Name of recipient of the e-Invoice in a commercial transaction
Party.PartyIdentification
Array
-
Mandatory. Buyer Party Identification Object.
Party.PartyIdentification.Id
Object
-
Mandatory. Buyer Party Identification ID Object.
Party.PartyIdentification.Id.Value
String
Alphanumeric
Mandatory: ID from the below list:
TIN (14 CHAR)
NRIC (12 CHAR)
PASSPORT (12 CHAR)
BRN (20 CHAR)
ARMY (12 CHAR)
SST (17 CHAR)
TTX (17 CHAR)
Party.PartyIdentification.Id.SchemeID
String
Enum: TIN/NRIC/PASSPORT/BRN/ARMY
Mandatory ID is one of the list:
TIN (14 CHAR)
NRIC (12 CHAR)
PASSPORT (12 CHAR)
BRN (20 CHAR)
ARMY (12 CHAR)
SST (17 CHAR)
TTX (17 CHAR)
Party.Contact
Object
-
Optional
Party.Contact.ElectronicMail
String
MaxLength: 320
Optional, Default: NA
Party.Contact.Telephone
String
MaxLength: 20
Optional, Default: NA
Party.PostalAddress
Object. Postal Address Object
-
Mandatory for B2B Optional for B2C. Buyer Postal Address object. Buyer address must contain additional number, street name, building number, postal code, city, Neighborhood, country code.
1.13 Invoice Line Object
Id
Number
-
Mandatory. Each Invoice line (BG-25) shall have an Invoice line identifier (BT-126).
A unique identifier for the individual line within the Invoice.
An Invoice shall have at least one Invoice line (BG-25)
Item
Object
-
Mandatory. Each Invoice line (BG-25) shall contain the Item name (BT-153).
Item.Description
String
MaxLength: 300
MandatoryDetails of products or services being billed as a result of a commercial transaction
Item.CommodityClassification[]
Array
-
Mandatory
Item.CommodityClassification[].ItemClassificationCode
String
MaxLength: 3
Item.ProductTariffCode
Object
MaxLength: 12
Optional. Only Applicable to Goods. Harmonized System code of the goods under the relevant Sales Tax Orders.The input of special characters is not allowed, except for full stop (.).
Item.OriginCountry.IdentificationCode.CountryCode
String
-
ItemPriceExtension
Amount Object
-
Mandatory. Amount of each individual item / service within the invoice, excluding any taxes, charges or discounts. I.e. item Price*Quantity
Price
Object
-
Mandatory. Each Invoice line shall contain the Item net price
Price.PriceAmount
Amount Object
-
Mandatory. Price assigned to a single unit of a product or service. (Unit Price)
LineExtensionAmount
Amount Object
-
Mandatory. Total Excluding Tax. Sum of amount payable (inclusive of applicable discounts and charges), excluding any applicable taxes (e.g., sales tax, service tax)
InvoicedQuantity
Object
-
Optional. The quantity of items object
InvoicedQuantity.Quantity
Number
-
Optional. Number of units of a particular product or service in a commercial transaction
InvoicedQuantity.UnitCode
String
This field is following the UN/ECE Recommendation 20, Revision 17 (2021) as per here hence the values should be following that standard.
MaxLength : 3
Optional. Standard unit or system used to measure the product or service.This value should be represented in actual decimal value like 0.15.
AllowanceCharge[]
Array
-
Conditional. Required only if there is invoice line item level allowance.
One or more Invoice level allowance charge objects.
AllowanceCharge[].ChargeIndicator
Boolean
-
Conditional. Required in case of parent context exists.
An indicator that this AllowanceCharge describes a discount. The value of this tag indicating discount (Allowance) must be "false". The value of this tag indicating Charge (Allowance) must be "true".
AllowanceCharge[].AllowanceChargeReason
String
Optional. To contain the description of the line-item discount applied
AllowanceCharge[].Amount
Amount Object
-
Amount deducted from the original price of a product or service.
OR
Charge associated with the product or service imposed after tax
AllowanceCharge[].MultiplierFactorNumeric
Number
Min: 0.00
Max: 100.00
Conditional, Discount Rate or Charge Rate.
MultiplierFactorNumeric. Charge associated with the product or service (be it in the form of percentage (%) or prevailing specified rate) imposed after tax OR
Percentage of deduction from the original price of a product or service
TaxTotal
Object
-
Mandatory when applicable.
TaxTotal.TaxAmount
Amount Object
-
Mandatory. The amount of tax payable.
TaxTotal.TaxSubtotal
Array
-
Mandatory, wherever applicable. Types of taxes that will be applicable
1.3.1 Line Level Tax SubTotal Object
TaxAmount
Amount Object
-
Mandatory, The amount of tax payable.
TaxableAmount
Amount Object
-
Total amount of tax exempted for sales tax or service tax purposes.
Please add currencyID attribute to the XML element.
TaxCategory
Object
-
Mandatory. Line Level Tax Category Object
Percent
String
-
Optional. The appropriate tax rate as a decimal. i.e. dividing the tax rate percent by 100. For example, an 8% tax rate is represented as 0.08.
1.13.2 Line Level Tax Category Object
Id
String
MaxLength: 2
Type of taxes that will be applicable. Use ID: E for Exemption
TaxExemptionReason
String
Max Length: 300
Description of tax exemption applicable.(e.g., Buyer’s sales tax exemption certificate number, special exemption as per gazette orders, etc.). The input of special characters is not allowed, except for dash (-).
Please add currencyID attribute to the XML element.
1.14 Payment Means Object
PaymentMeansCode
String
Max Length: 2
PayeeFinancialAccount
Object
-
Optional. Payee Financial Account Payment Note object. Default: null
PayeeFinancialAccount.Id
MultiLingualString
MaxLength: 150
Optional. The Supplier’s bank account number to facilitate payment by Buyer
Last updated