What are the various document statuses within the e-Invoice workflow?
The invoice is stored in the local database with a specific status. The status is an integer value, which could be one of the following:
Status | Value | Note |
---|---|---|
Submitted | 1 | This means the invoice has passed initial structure validations but is still pending additional validations to be completed |
Valid | 2 | The status of a successful invoice validation |
Invalid | 3 | The status of a submitted invoice with validation issues |
Cancelled | 4 | The status of an invoice cancelled by the issuer |
What are UBL JSON Value Mappings?
In the UBL JSON, every attribute value should be paired with a key “_” to be compliant with UBL. For Example: value for InvoiceTypeCode should be represented as “_” : “02” which refers to the Credit Note Invoice Type code.
What are the environment URLs?
Env | Registration Portal | Invoicing Portal | System API | Identity Service |
---|---|---|---|---|
PROD | TBD | myinvois.hasil.gov.my | api.myinvois.hasil.gov.my | api.myinvois.hasil.gov.my |
SANDBOX | TBD | preprod.myinvois.hasil.gov.my | preprod-api.myinvois.hasil.gov.my | preprod-api.myinvois.hasil.gov.my |
Where can taxpayers obtain guidance on Digital Signature?
The comprehensive guidance on Digital Signature creation and validation can be found on the Signature page.
Which login API should be used by the Taxpayer or Intermediary?
Taxpayers should use the Login as Taxpayer System when submitting their own documents. However, taxpayers who act as service providers, submitting documents on behalf of their customers, should use the Login as Intermediary System.
How to obtain Client ID and Client Secret for Sandbox?
The client ID and client secret can be obtained by submitting a request via email to sdkmyinvois@hasil.gov.my together with all the information listed below:
- Tax Identification Number (TIN) - excluding Employer’s (E) No.
- New Business Registration Number
- Company Name
- Company Email Address
- Name of ERP System
What are the available APIs in the Sandbox Environment?
The table below provides details about the APIs available in the Sandbox environment. “Actual APIs” are functional and will return actual API responses, whereas “Stub APIs” are temporary endpoints that return mock API responses. Stubs serve as stand-ins until the actual API implementation is made available.
# | API | Actual / Stub |
---|---|---|
1 | Login as Taxpayer System | Actual |
2 | Login as Intermediary System | Actual |
3 | Get All Document Types | Stub |
4 | Get Document Type | Stub |
5 | Get Document Type Version | Stub |
6 | Get Notifications | Stub |
7 | Validate Taxpayer’s TIN | Actual |
8 | Submit Documents | Actual |
9 | Cancel Document | Actual |
10 | Reject Document | Stub |
11 | Get Recent Documents | Stub |
12 | Get Submission | Actual |
13 | Get Document | Actual |
14 | Get Document Details | Actual |
15 | Search Documents | Stub |
How to test APIs via Postman?
For those that are using Postman to do quick tests and see how the APIs should be called both on identity service and actual document exchange, please use the Postman collection e-Invoice SDK.postman_collection.json (right-click to Save ) and use Postman as per the environment below (right-click to Save ).
Environment | Postman Env. File |
---|---|
PROD | PROD Env.postman_environment.json |
SANDBOX | Sandbox Env.postman_environment.json |
To install the environments file, follow these steps:
-
On the top right-hand corner, click on the gear icon named
Manage Environments
-
A
Manage Environments
window will pop-up, click on theImport
button and select the right environment file and clickOk
-
A new environment named
Sandbox Env
orProd Env
should be added to the drop down list on the top right corner, click again on thegear icon
and click on the newly added environment namedSandbox Env
orProd Env
(Based on the environment you want to work on)
Note: If you encounter an error message “SSL Error: Self signed certificate in certificate chain” (see image below) on PostMan, click “Disable SSL Verification”.
Alternatively, click on the Gear Icon
button at the top right-hand corner to open the Settings. Turn off “SSL Certificate Verification” as shown in the image below.