Specification » History » Revision 56
Revision 55 (Soh Keong, 07/12/2024 10:56 AM) → Revision 56/71 (Soh Keong, 07/12/2024 11:04 AM)
{{toc}}
h1. Specification
h1. Programming Guide
h2. Jar version
|_. version |_. Description |
| 1.0 | Init |
h2. Jar File Download
"Jar":/redmine/attachments/802
"Lib":/redmine/attachments/803
"Properties":
h3. Classes
* *my.aisino.einvoice.bean*
* *my.aisino.einvoice.bean.transaction*
* *my.aisino.einvoice.constant*
* *my.aisino.einvoice.service*
* *my.aisino.einvoice.util*
h3. properties file
* *service.properties*
# *merchant.id* -
h2. Aisino Service
<pre>
my.aisino.einvoice.service.TransactionService service = new my.aisino.einvoice.service.TransactionService();
</pre>
h3. submitEInvoice
<pre>
InvoiceSubmissionResponseBean responseBean = service.submitEInvoice(Connection conn, List<InvoiceSubmissionRequestBean> beanList);
InvoiceSubmissionResponseBean responseBean = service.submitEInvoice(Connection conn, List<InvoiceSubmissionRequestBean> beanList, boolean insertTable);
</pre>
<pre>
CommonConstant = my.aisino.einvoice.constant.CommonConstant
</pre>
# *conn* - Database connection.
# *beanList* - InvoiceSubmissionRequestBean List.
> * *docCode* - From Keys (TAX_DOC_SUMMARY)
> * *issueMode* - CommonConstant.ISSUE_MODE_EINVOICE_* (YES=e-invoice; NO=consolidate)
> * *orderId*
> * *orderDate* - Format(yyyy-MM-dd)
> * *orderTime* - Format(HH:mm:ssZ)
> * *originalOrderId* - For Credit Note/ Debit Note/ Refund Note
> * *orderTypeCode* - CommonConstant.INVOICE_TYPE_CODE_* (https://sdk.myinvois.hasil.gov.my/codes/e-invoice-types/)
> * *currencyCode* - CommonConstant.CURRENCY_CODE_* (https://sdk.myinvois.hasil.gov.my/codes/currencies/)
> * *totalExcludingTax*
> * *totalIncludingTax*
> * *totalPayableAmount*
> * *businessSystem* - CommonConstant.BUSINESS_SYSTEM_*
> * *supplierBean* : For Full Bean [new TaxDocDao().getSupplierBySupplierCode(Connection, PropBean.getCoswaySupplierCode())]
> ** *addressBean*
> *** *country* - CommonConstant.COUNTRY_* (https://sdk.myinvois.hasil.gov.my/codes/countries/)
> *** *state* - CommonConstant.STATE_* (https://sdk.myinvois.hasil.gov.my/codes/state-codes/)
> *** *city* - Max length : 50
> *** *postal* - Max length : 50
> *** *address1* - Max length : 150
> *** *address2* - Max length : 150
> *** *address3* - Max length : 150
> ** *contactNumber* - Max length : 20
> ** *name* - Max length : 300
> ** *msic* - https://sdk.myinvois.hasil.gov.my/codes/msic-codes/
> ** *registrationBean*
> *** *tin*
> *** *regSchemeId* - CommonConstant.ID_TYPE_*
> *** *regNo*
> *** *sst* (Optional)
> * *buyerBean*
> ** *buyerCode* - From keys (TAX_DOC_BUYER)
> ** *addressBean*
> *** *country* - CommonConstant.COUNTRY_* (https://sdk.myinvois.hasil.gov.my/codes/countries/)
> *** *state* - CommonConstant.STATE_* (https://sdk.myinvois.hasil.gov.my/codes/state-codes/)
> *** *city* - Max length : 50
> *** *address1* - Max length : 150
> *** *address2* - Max length : 150
> *** *address3* - Max length : 150
> ** *contactNumber* - Max length : 20
> ** *name* - Max length : 300
> ** *email*
> ** *registrationBean*
> *** *tin*
> *** *regSchemeId* - CommonConstant.ID_TYPE_*
> *** *regNo*
> *** *sst* (Optional)
> * *productList*
> ** *docLineCode* - From Keys (TAX_DOC_DETAIL)
> ** *productName* - Max length : 300
> ** *productCode* - Max length : 18
> ** *measurement* (Optional) - CommonConstant.MEASUREMENT_* (https://sdk.myinvois.hasil.gov.my/codes/unit-types/)
> ** *quantity* (Optional)
> ** *totalExcludingTax*
> ** *unitPrice*
> ** *subtotal*
> ** *totalDiscountAmount* - (Optional)
> ** *classificationList*
> *** *code* - CommonConstant.CLASSIFICATION_CODE_* (https://sdk.myinvois.hasil.gov.my/codes/classification-codes/)
> *** *group* - CommonConstant.CLASSIFICATION_GROUP_*
> ** *taxTotalBean*
> *** *totalTaxAmount*
> *** *taxSubTotalList*
> **** *taxType* - CommonConstant.TAX_TYPE_* (https://sdk.myinvois.hasil.gov.my/codes/tax-types/)
> **** *percent* (Optional)
> **** *perUnitAmount* (Optional)
> **** *measurement* (Optional) - CommonConstant.MEASUREMENT_* (https://sdk.myinvois.hasil.gov.my/codes/unit-types/)
> **** *quantity* (Optional)
> **** *netAmount* (Optional)
> **** *tax*
> * *taxTotalBean*
> ** *totalTaxAmount*
> ** *taxSubTotalList*
> *** *taxType* - CommonConstant.TAX_TYPE_* (https://sdk.myinvois.hasil.gov.my/codes/tax-types/)
> *** *percent* - Optional
> *** *perUnitAmount* - Optional
> *** *measurement* - Optional
> *** *quantity* - Optional
> *** *netAmount* - Optional
> *** *tax* -
3. *responseBean*
> * *submissionUid*
> * *acceptedDocumentList*
> ** *orderId*
> ** *uuid*
> * *rejectedDocumentList*
> ** *orderId*
> ** *errorList*
> *** *code*
> *** *message*
h3. queryEInvoice
<pre>
InvoiceInquiryResponseBean responseBean = service.queryEInvoice(Connection conn, InvoiceInquiryRequestBean bean);
</pre>
# *conn* - Database connection.
# *bean* - Object.
> * *documentNum*
> * *submissionUid*
> * *invoiceUuid*
> * *invoiceTypeCode*
> * *buyerTin*
> * *buyerName*
> * *supplierTin*
> * *supplierName*
> * *totalAmountFrom*
> * *totalAmountTo*
> * *invoiceStatus*
> * *confirmStatusCode*
> * *issuedDateFrom*
> * *issuedDateTo*
> * *pageNo* (Mandatory)
> * *pageSize* (Mandatory)
3. *responseBean*
> * *page*
> ** *pageCount*
> ** *pageNo*
> ** *pageSize*
> ** *totalSize*
> * *recordList*
> ** *buyerTin*
> ** *confirmStatusCode*
> ** *currency*
> ** *description*
> ** *documentNum*
> ** *excludingTaxAmount*
> ** *includingTaxAmount*
> ** *invoiceId*
> ** *invoiceStatus*
> ** *invoiceTypeCode*
> ** *invoiceUuid*
> ** *issuedDate*
> ** *nowTime*
> ** *operationDate*
> ** *operator*
> ** *pageIndex*
> ** *pageNo*
> ** *pageSize*
> ** *supplierTin*
> ** *supplierName*
> ** *submissionUid*
> ** *transactionId*
h3. cancelEInvoice
<pre>
InvoiceCancelResponseBean responseBean = service.cancelEInvoice(InvoiceCancelRequestBean bean);
</pre>
# *conn* - Database connection.
# *bean* - Object.
> * *cancelCode* - CommonConstant.CANCEL_CODE_*
> * *cancelReason* - (Mandatory for CommonConstant.CANCEL_CODE_OTHERS)
> * *invoiceIds* - List of Integer
3. *responseBean*
> * *success* - true / false
h2. CommonConstant
|_. Name |_. values |
| INTERFACE_ | LOGIN, INVOICE_ISSUANCE, INVOICE_INQUIRY, INVOICE_CANCEL, INVOICE_PURCHASE_INQUIRY, INVOICE_PURCHASE_REJECT |
| RETURN_CODE_ | SUCCESS, ABNORMAL |
| INVOICE_STATUS_ | VALID, INVALID, CANCELLED, SUBMITTED |
| CONFIRM_STATUS_CODE_ | AWAITING, ACCEPTED, REJECTED |
| CANCEL_CODE_ | WRONG_BUYER, WRONG_INVOICE, OTHERS |
| INVOICE_TYPE_CODE_ | INVOICE, CREDIT_NOTE, DEBIT_NOTE, REFUND_NOTE, SELF_BILLED_INVOICE, SELF_BILLED_CREDIT_NOTE, SELF_BILLED_DEBIT_NOTE, SELF_BILLED_REFUND_NOTE |
| TAX_DOC_STATUS_ | PENDING, VERIFIED, SUCCESS, FAIL, REJECT, DELETED |
| CURRENCY_CODE_ | MALAYSIA_RINGGIT |
| COUNTRY_ | MALAYSIA, SINGAPORE, BRUNEI_DARUSSALAM, THAILAND, INDONESIA, TAIWAN |
| COUNTRY_CODE_ | MALAYSIA, SINGAPORE, BRUNEI_DARUSSALAM, THAILAND, INDONESIA, TAIWAN |
| STATE_ | ALL, JOHOR, KEDAH, KELANTAN, MELAKA, NEGERI_SEMBILAN, PAHANG, PULAU_PENANG, PERAK, PERLIS, SELANGOR, TERRENGANU, SABAH, SARAWAK, WILAYAH_PERSEKUTUAN_KUALA_LUMPUR, WILAYAH_PERSEKUTUAN_LABUAN, WILAYAH_PERSEKUTUAN_PUTRAJAYA, NOT_APPLICABLE |
| MEASUREMENT_ | METRE, CENTIMETRE, KILOMETRE, LITRE, KILOGRAM, GRAM |
| CLASSIFICATION_REF_NO_ | CONSOLIDATED, OTHERS, VOUCHER_GIFT_CARD |
| CLASSIFICATION_CODE_ | CONSOLIDATED, ECOMMERCE_TO_BUYER, ECOMMERCE_SELF_BILLED_TO_SELLER, OTHERS, CLASSIFICATION_CODE_SELF_BILLED_OTHERS, CLASSIFICATION_CODE_SELF_BILLED_MONETARY_PAYMENT_TO_AGENTS, CLASSIFICATION_CODE_VOUCHER_GIFT_CARD |
| CLASSIFICATION_GROUP_ | CLASS, PRODUCT_TARIFF_CODE |
| TAX_TYPE_ | SALES, SERVICE, TOURISM, HIGH_VALUE_GOODS, LOW_VALUE_GOODS, NOT_APPLICABLE, TAX_EXEMPTION |
| ID_TYPE_ | BRN, NRIC, PASSPORT, ARMY |
| TIN_ | GENERAL_PUBLIC, FOREIGN_BUYER, FOREIGN_SUPPLIER, BUYER |
| ENTITY_ | COSWAY, ECOSWAY, RANK_DISTRIBUTOR, KIMIA_SUCHI, KIMIA_SUCHI_MARKETING, VITAL_DEGREE |
| | EINVOICE_REQUEST_IND, EXCLUDING_POSTING |
| BUSINESS_SYSTEM_ | SALES, BONUS, HFEE |
| ISSUE_MODE_EINVOICE_ | YES, NO |
| _DEFAULT | BUYER_NAME_DEFAULT, MANDATORY_VALUES_DEFAULT |