Specification » History » Revision 72
Revision 71 (Soh Keong, 10/29/2024 10:58 AM) → Revision 72/73 (Soh Keong, 11/11/2024 03:15 PM)
{{toc}} h1. Specification h1. Programming Guide h2. Jar version |_. version |_. Description | | 1.0 | Init | | 1.1 | Response Object --> Object List | | 1.3 | Append all error with pipe symbol | | 1.4 | Added connection rollback | | 1.5 | Added more than 1 Entity | | 1.7 | Added eCosway's state name | h2. Jar File Download "Jar":/redmine/attachments/816 "Jar":/redmine/attachments/815 "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_* > * *entity* - CommonConstant.ENTITY_* > * *exchangeRate* - (Optional) > * *k1* - (Optional) > * *incoterms* - (Optional) > * *ftaInformation* - (Optional) > * *k2* - (Optional) NON-POSTING > * *storeCode* -> * *shopperId*- (Moved to BuyerBean) > * *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) > ** *shopperId* > ** *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* > * *httpResponseCode* > * *returnCode* > * *returnMsg* > * *responseBeanList* > ** *submissionUid* > ** *acceptedDocumentList* > *** *orderId* > *** *uuid* > ** *rejectedDocumentList* > *** *orderId* > *** *errorList* > **** *code* > **** *message* h3. queryEInvoice <pre> InvoiceInquiryResponseBean responseBean = service.queryEInvoice(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* > ** *buyerName* > ** *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 h3. queryTransaction <pre> InvoiceInquiryResponseBean responseBean = service.queryTransaction(TransactionInquiryRequestBean bean); </pre> # *conn* - Database connection. # *bean* - Object. > * *invoiceTypeCode* > * *documentNum* > * *supplierTin* > * *businessSystem* > * *buyerTin* > * *buyerName* > * *dateFrom* > * *dateTo* > * *issuedFlag* > * *invoiceUuid* > * *invoiceStatus* > * *confirmStatusCode* > * *pageNo* (Mandatory) > * *pageSize* (Mandatory) 3. *responseBean* > * *page* > ** *pageCount* > ** *pageNo* > ** *pageSize* > ** *totalSize* > * *recordList* > ** *businessSystem* > ** *storeCode* > ** *buyerName* > ** *buyerTin* > ** *confirmStatusCode* > ** *createDate* > ** *currency* > ** *documentNum* > ** *invoiceTypeCode* > ** *id* > ** *invoiceUuid* > ** *issuedDate* > ** *issuedFlag* > ** *invoiceStatus* > ** *issuedDate* > ** *issuedFlag* > ** *nowTime* > ** *operationDate* > ** *operator* > ** *pageIndex* > ** *pageNo* > ** *pageSize* > ** *payableAmount* > ** *submissionUid* > ** *subtotal* > ** *supplierId* > ** *supplierName* > ** *supplierTin* > ** *tax* > ** *total* > ** *transactionDate* > ** *invalidReasons* 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 |