Malaysia

Invoice

Changes to generic fields

  • recipient.address.state is required.
type Invoice {
  // ...all generic invoice fields
  lines: [
    { 
      // ...other line item fields
      itemCode: string;
      vat: {
        // ...other line item vat fields
        exemptReason?: string;
      }
    }
  ];

  // Recipient is required for regular invoices and not allowed for self-billed invoice
  recipient: {
    address: {
      state: string;
    };
    peppolId?: {
      endpointId: string;
    };
    contact?: {
      //...other fields
      phone: string;
    };
    sstRegistrationNumber?: string;
    identification: {
      type: 'ARMY' | 'BRN' | 'NRIC' | 'Passport';
      value: string;
    };
  };

  // Sender is required for self-billed invoices only
  sender: {
    peppolId?: {
      endpointId: string;
    };
    contact?: {
      //...other fields
      phone: string;
    };
    sstRegistrationNumber?: string;
    identification: {
      type: 'ARMY' | 'BRN' | 'NRIC' | 'Passport';
      value: string;
    };
  };

  customInfo: {
    mys: {
      customsRef?: string;
    };
  };
  selfBilling: string;
};

Field information

Name

Type

Required

Description

recipient.address.state

string

Yes

When recipient.address.country is Malaysia, a 2 digit state code as outlined on Malaysia state code list is required.

selfBilling

boolean

No

Indicate if an invoice is being self billed.

When sending self billed invoices, the sender will be required and replace the recipient.

lines[].itemCode

string

Yes

Line item code (3 character) as outlined on Malaysia item code list

lines[].vat.code

string

Yes

A value from an enumerated list of types:

  • 01:* Sales Tax,
  • 02:* Service Tax',
  • 03:* Tourism Tax',
  • 04:* High-Value Goods Tax',
  • 05:* Sales Tax on Low Value Goods',
  • 06:* Outside of scope',
  • E:* Exempt'

lines[].vat.exemptReason

string

Conditional

If VAT amount is 0, an exemption reason is required

customInfo.mys.customsRef

string

Conditional

Unique identifier assigned on the Declaration of Goods imported

recipient.sstRegistration

string

Conditional

SST registration number of the Buyers that are SST-registered. The input of special characters is not allowed, except for dash (-) and semicolon (;). A maximum of two SST registration numbers is allowed.

recipient.identification.type

string

Yes

  • ARMY:* For Malaysian individuals MyKad / MyTentera identification number (12 characters).
  • BRN:* For Businesses. Business registration number (20 characters).
  • NRIC:* For MyPR and MyKAS use NRIC scheme (12 characters).
  • Passport:* For Non-Malaysian individual. Passport number / MyPR / MyKAS identification number (12 characters).

recipient.identification.value

string

Yes

Identification number based on type

recipient.peppolId.endpointId

string

Optional

Peppol ID of the recipient (eg. iso6523-actorid-upis::0230:uat-eezi-12345)

Example CSV file

Invoice - Malaysia.csv