MyInvois: LHDN's validations of a Malaysian e-invoice
[CV302]-ItemCode does not exist in CodeType EInvoiceTypes: the e-invoice type (InvoiceTypeCode) is 01 (invoice), 02 (credit note), 03 (debit note), 04 (refund note), or 11 to 14 for the self-billed ones.
[XV-MY-01]-The e-invoice version (listVersionID of InvoiceTypeCode) is 1.0 or 1.1 (signed), or 1.2 or 1.3 (signed) for the Voluntary Disclosure programme, not .
[XV-MY-02]-The e-invoice code or number (cbc:ID) takes up to 50 characters; this one has .
[XV-MY-03]-The e-invoice time (cbc:IssueTime) is mandatory.
[XV-MY-04]-The e-invoice time (cbc:IssueTime) should be in UTC, as 15:30:00Z: MyInvois reads the date and time of issue as UTC. This one is .
[CF378]-Invoice currency code is required: give cbc:DocumentCurrencyCode.
[CV302]-ItemCode does not exist in CodeType CurrencyCodes: the document currency (cbc:DocumentCurrencyCode) is not in MyInvois's currency codes.
[DC502]-If the document currency is , all currency codes for amounts should also be ; this document has amounts in .
[DC501]-Tax Amount currency code is not same as TaxCurrencyCode: with TaxCurrencyCode , every cbc:TaxAmount is in , not .
[DC512]-Tax currency is not empty, therefore it should match the document currency or should be MYR: TaxCurrencyCode is and the document currency .
[DC510]-Foreign source currency does not match document currency: TaxExchangeRate's SourceCurrencyCode is , the document currency .
[XV-MY-05]-A document in another currency than MYR needs the exchange rate to MYR: cac:TaxExchangeRate with cbc:CalculationRate, the document currency as SourceCurrencyCode and MYR as TargetCurrencyCode. This one is in .
[XV-MY-06]-The exchange rate's TargetCurrencyCode is MYR, not .
[XV-MY-07]-The total tax amount (cac:TaxTotal/cbc:TaxAmount) and a tax amount per tax type (cac:TaxSubtotal) are mandatory, also when no tax is charged.
[XV-MY-08]-The total excluding tax (TaxExclusiveAmount) and the total including tax (TaxInclusiveAmount) of cac:LegalMonetaryTotal are mandatory.
[CV302]-ItemCode does not exist in CodeType PaymentMethods: the payment mode (PaymentMeansCode) is one of 01 to 08.
[XV-MY-09]-A credit, debit or refund note gives the original e-invoice it adjusts: cac:BillingReference/cac:InvoiceDocumentReference with its number (cbc:ID) and its MyInvois unique identifier (cbc:UUID; NA when the original was issued before e-invoicing).
[XV-MY-10]-A consolidated e-invoice (classification 004) is issued to the general public: the 's TIN is EI00000000010, not , with the name General Public and NA for the registration number, address and contact.
[DS301]-Signature not found. Version is signed: the document needs the signature (ds:Signature in ext:UBLExtensions) and the cac:Signature element that points to it.
[DS303]-Signing time not found: the signed properties need xades:SigningTime.
[DS322]-Document digest value doesn't match digest calculated value from existing document content. Document content might have changed: the signature states , the document's digest is ( with the whitespace between elements).
[XV-MY-11]-The signature (ds:SignatureValue) does not verify with the public key of the certificate in the signature over the document digest it states.
[XV-MY-12]-The certificate digest in the signed properties (xades:CertDigest) is the SHA-256 of the certificate in the signature: , not .
[XV-MY-13]-The certificate's organization identifier should be the TIN of the supplier or the buyer: MyInvois rejects a document whose signer's TIN is not the submitter's (DS311). This one is .
[XV-MY-14]-The name of the supplier and of the buyer (cac:PartyLegalEntity/cbc:RegistrationName) is mandatory, up to 300 characters; the 's is missing or longer.
[XV-MY-15]-The TIN of the supplier and of the buyer is mandatory: cac:PartyIdentification/cbc:ID with schemeID TIN (a general TIN such as EI00000000010 where LHDN allows one); the has none.
[XV-MY-16]-A Malaysian TIN is IG and digits for an individual; for others C, CS, D, F, FA, PT, TA, TC, TN, TR, TP, J or LE, then digits without a leading zero, ending with 0; at most 14 characters. The 's TIN, , is not in that form.
[XV-MY-17]-The registration or identification number of the supplier and of the buyer is mandatory: cac:PartyIdentification/cbc:ID with schemeID BRN, NRIC, PASSPORT or ARMY (NA where LHDN allows it); the has none.
[XV-MY-18]-The SST registration number of the supplier and of the buyer is a mandatory field: cac:PartyIdentification/cbc:ID with schemeID SST, NA when not registered; the has none.
[XV-MY-19]-The supplier's tourism tax registration number is a mandatory field: cac:PartyIdentification/cbc:ID with schemeID TTX, NA when not registered.
[CF406]-Enter valid SST registration number - : letters, digits and dashes, at most two numbers separated by a semicolon, up to 35 characters, or NA.
[CF407]-Enter valid TTX registration number - : letters, digits and dashes only, or NA.
[CF412]-Enter valid TTX registration number and maximum length is 17 characters - .
[XV-MY-20]-The supplier's MSIC code (cbc:IndustryClassificationCode, five digits; 00000 when not applicable) is mandatory.
[CV302]-ItemCode does not exist in CodeType MSICSubCategoryCodes: the MSIC code (cbc:IndustryClassificationCode) is not in the Malaysia Standard Industrial Classification codes.
[XV-MY-21]-The supplier's business activity description (the name attribute of cbc:IndustryClassificationCode) is a mandatory field.
[XV-MY-22]-The address of the supplier and of the buyer (cac:PostalAddress with an address line) is mandatory, NA in the first line where LHDN allows it; the has none.
[XV-MY-23]-An address needs the city (cbc:CityName), the state (cbc:CountrySubentityCode) and the country (cac:Country/cbc:IdentificationCode), unless its first line is NA; the 's lacks one.
[CF345]-Address Line maximum length is 150 characters. (Count: ) - the supplier's address.
[CF346]-Address Line maximum length is 150 characters. (Count: ) - the buyer's address.
[CF404]-City name maximum length is 50 characters - .
[CF405]-Postcode maximum length is 5 digits in Malaysia and 50 characters elsewhere - .
[CV302]-ItemCode does not exist in CodeType CountryCodes: a country is an ISO 3166-1 three-letter code, such as MYS (the 's address).
[CV302]-ItemCode does not exist in CodeType StateCodes: a state (cbc:CountrySubentityCode) is one of 01 to 17 (the 's address).
[CV316]-State Codes 01-16 must be restricted to MYS only - the 's state is and its country .
[CV317]-State Code 17 should be used for Consolidated e-Invoice and non-Malaysian address only - the 's address is in MYS and the document is not consolidated.
[XV-MY-24]-The contact number of the supplier and of the buyer (cac:Contact/cbc:Telephone) is mandatory, NA where LHDN allows it; the has none.
[CF408]-Phone Number Minimum length is 8 characters - .
[CF409]-Phone Number Maximum length is 20 characters - .
[CF410]-Enter valid phone number - : digits with an optional leading plus, no spaces, dashes or brackets.
[CF400]-E-mail address maximum length is 320 characters - the 's has .
[CF401]-Enter valid e-mail address - .
[ERR213]-General TIN (010) is not applicable for foreign supplier: a foreign supplier takes EI00000000030.
[ERR208]-General TIN (020) is not applicable for foreign supplier: EI00000000020 is for foreign buyers; a foreign supplier takes EI00000000030.
[ERR211]-General TIN (020) is not applicable for foreign supplier for consolidated invoice.
[ERR229]-General TIN (030) is only allowed for foreign supplier: the buyer's TIN is EI00000000030.
[ERR220]-General TIN (30) is only allowed for supplier field for self-billed scenario: .
[ERR217]-Supplier's details cannot be general TIN (010) for issuance of individual e-Invoice: with a BRN (), give the supplier's own TIN.
[ERR237]-Buyer's details cannot be general TIN (010) for issuance of individual e-Invoice: with a BRN (), give the buyer's own TIN.
[ERR222]-Only general TIN (010) is allowed for NRIC/ARMY: the has an NRIC or army number and the general TIN .
[ERR236]-Where General TIN (010) and ID Type BRN/NRIC = NA, applicable for Classification Code 004 only: the document has no line classified 004 (consolidated e-invoice).
[ERR255]-General TIN (040) is applicable for BRN NA only.
[XV-MY-25]-Each line needs its classification: cac:Item/cac:CommodityClassification/cbc:ItemClassificationCode with listID CLASS; line has none.
[CV302]-ItemCode does not exist in CodeType ClassificationCodes: a line's classification is one of 001 to 045.
[XV-MY-26]-Each line needs the description of the product or service (cac:Item/cbc:Description), up to 300 characters; line has none or a longer one.
[XV-MY-27]-Each line needs its unit price (cac:Price/cbc:PriceAmount); line has none.
[XV-MY-28]-Each line needs its subtotal (cac:ItemPriceExtension/cbc:Amount), the unit price times the quantity; line has none.
[XV-MY-29]-Each line needs its tax amount (cac:TaxTotal/cbc:TaxAmount) and tax type (cac:TaxSubtotal/cac:TaxCategory/cbc:ID), also when no tax is charged; line lacks them.
[CV302]-ItemCode does not exist in CodeType UnitTypes: the unit of measure (unitCode) is a UN/ECE Recommendation 20 code from MyInvois's list.
[CV302]-ItemCode does not exist in CodeType CountryCodes: the country of origin is an ISO 3166-1 three-letter code.
[XV-MY-30]-A line's subtotal (ItemPriceExtension) is its unit price times its quantity: in line , not .
[XV-MY-31]-A line's total excluding tax (LineExtensionAmount) is its subtotal less its discounts plus its charges: in line , not .
[XV-MY-32]-A line's tax amount is the sum of its tax amounts per tax type: in line , not .
[CV302]-ItemCode does not exist in CodeType TaxTypes: the tax type (cac:TaxCategory/cbc:ID) is 01 to 06, or E for a tax exemption.
[XV-MY-33]-The tax scheme (cac:TaxCategory/cac:TaxScheme/cbc:ID) is OTH, with schemeID UN/ECE 5153 and schemeAgencyID 6, not .
[XV-MY-34]-A tax exemption (tax type E) needs its details: cac:TaxCategory/cbc:TaxExemptionReason, up to 300 characters, such as the exemption under the Sales Tax (Persons Exempted from Payment of Tax) Order.
[XV-MY-35]-The total net amount (LineExtensionAmount) is the sum of the lines' totals excluding tax: , not .
[XV-MY-36]-The total discount value (AllowanceTotalAmount) is the sum of the invoice's additional discounts: , not .
[XV-MY-37]-The total fee or charge amount (ChargeTotalAmount) is the sum of the invoice's additional fees: , not .
[XV-MY-38]-The total excluding tax (TaxExclusiveAmount) is the total net amount less the total discount plus the total charges: , not .
[XV-MY-39]-The total including tax (TaxInclusiveAmount) is the total excluding tax plus the total tax amount: , not .
[XV-MY-40]-The total payable amount (PayableAmount) is the total including tax less the prepayment plus the rounding amount: , not .
[XV-MY-41]-The total tax amount is the sum of the tax amounts per tax type: , not .
[XV-MY-42]-The tax amount of a tax type is the sum of the lines' tax amounts of that type: for tax type , not .