Changes to generic fields

Malaysia-specific fields

type Invoice {
  // ...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: {
    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;
};
NameTypeRequiredDescription
selfBillingbooleanNoIndicate if an invoice is being self billed.

When sending self billed invoices, the sender will be required and replace the recipient.
lines[].itemCodestringYesLine item code (3 character) as specified on [Insert Item Code List]
lines[].vat.codestringYesA 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.exemptReasonstringConditionalIf VAT amount is 0, an exemption reason is required
recipient.customInfo.mys.customsRefstringConditionalUnique identifier assigned on the Declaration of Goods imported
recipient.sstRegistrationstringConditionalSST 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.typestringYesARMY: 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.valuestringYesIdentification number based on type
recipient.peppolId.endpointIdstringYesPeppol ID of the recipient (eg. iso6523-actorid-upis::0230:uat-eezi-12345)

Example CSV file

Invoice - Malaysia.csv