-
Notifications
You must be signed in to change notification settings - Fork 0
API Usage Business Partner
This page explains how third-party systems should call Business Partner APIs in SimBiz 6 API V3.
https://<host>/api/v3
All Business Partner endpoints are protected.
Required headers:
Authorization: Bearer <token>
How to get token:
For filter parameters such as updated_from and updated_to, use:
YYYY-MM-DD HH:MM:SS
| No. | Endpoint | Method | Purpose | Required Permission Scope |
|---|---|---|---|---|
| 1 | /api/v3/business-partners |
GET | List business partners | bpartner.master.read |
| 2 | /api/v3/business-partners/{id} |
GET | Get business partner by id | bpartner.master.read |
| 3 | /api/v3/business-partners/by-no/{bpartnerNo} |
GET | Get business partner by no | bpartner.master.read |
| 4 | /api/v3/business-partners/groups |
GET | List business partner groups | bpartner.reference.read |
| 5 | /api/v3/business-partners/industries |
GET | List business partner industries | bpartner.reference.read |
| 6 | /api/v3/business-partners |
POST | Create business partner | bpartner.master.write |
| 7 | /api/v3/business-partners/{id} |
PATCH | Update business partner | bpartner.master.write |
GET /api/v3/business-partners
bpartner.master.read
| Parameter | Type | Required | Notes |
|---|---|---|---|
page |
int | No | default 1
|
per_page |
int | No | default 50, max 200
|
all |
string | No |
all=1 to return non-paginated list |
paginate |
string | No |
paginate=0 to disable pagination |
q |
string | No | broad search by no/name/alternate/company |
bpartner_id |
string | No | exact id |
bpartner_no |
string | No | exact no |
bpartner_name |
string | No | partial name |
group_id |
string | No | exact group id |
group_code |
string | No | exact group code |
industry_id |
string | No | exact industry id |
industry_code |
string | No | exact industry code |
salesagent_id |
string | No | exact sales agent id |
salesagent_no |
string | No | exact sales agent no |
alternate_name |
string | No | partial alternate name |
alternatename |
string | No | alias of alternate_name
|
company_no |
string | No | partial company no |
companyno |
string | No | alias of company_no
|
currency_code |
string | No | exact currency |
is_active |
string | No | 1/0/true/false/yes/no |
is_debtor |
string | No | 1/0/true/false/yes/no |
is_creditor |
string | No | 1/0/true/false/yes/no |
updated_from |
datetime | No | updated range start |
updated_to |
datetime | No | updated range end |
with_details |
string | No |
1/true/yes to include address[] and contact[] in list rows |
organization_id |
string | No | org filter by id |
org_id |
string | No | alias of organization_id
|
organization_code |
string | No | org filter by code |
org_code |
string | No | alias of organization_code
|
| Field | Type | Notes |
|---|---|---|
data[] |
array | list of business partner rows |
data[].bpartner_id |
string | business partner id |
data[].bpartner_no |
string | business partner no |
data[].bpartner_name |
string | business partner name |
data[].group_id |
string | group id |
data[].group_code |
string | group code |
data[].group_name |
string | group name |
data[].industry_id |
string | industry id |
data[].industry_code |
string | industry code |
data[].industry_name |
string | industry name |
data[].salesagent_id |
string | sales agent id |
data[].salesagent_no |
string | sales agent no |
data[].salesagent_name |
string | sales agent name |
data[].organization_id |
string | organization id |
data[].organization_code |
string | organization code |
data[].organization_name |
string | organization name |
data[].currency_code |
string | currency code |
data[].companyno |
string | company registration no |
data[].gstno |
string | SST/GST registration no |
data[].source_identity |
string | source identity / TIN reference |
data[].bankname |
string | bank name |
data[].bankswiftcode |
string | bank swift code |
data[].bankaccountno |
string | bank account no |
data[].bankaccountname |
string | bank account name |
data[].bp_girobankname |
string | giro bank name |
data[].bp_girobankaccountno |
string | giro bank account no |
data[].shortremarks |
string | short remarks |
data[].description |
string | description |
data[].tooltips |
string | tooltip text |
data[].bpartnerline_id |
string | BP line id |
data[].deliveryterm_id |
string | delivery term id |
data[].deliveryterm_code |
string | delivery term code |
data[].deliveryterm_name |
string | delivery term name |
data[].tax_id |
string | tax id |
data[].tax_code |
string | tax code |
data[].tax_name |
string | tax name |
data[].tax_rate |
string/number | tax rate |
data[].salesterms_id |
string | sales term id |
data[].salesterms_code |
string | sales term code |
data[].salesterms_name |
string | sales term name |
data[].salesterms_days |
string/int | sales term days |
data[].purchaseterms_id |
string | purchase term id |
data[].purchaseterms_code |
string | purchase term code |
data[].purchaseterms_name |
string | purchase term name |
data[].purchaseterms_days |
string/int | purchase term days |
data[].salespricetag_id |
string | sales price tag id |
data[].salespricetag_code |
string | sales price tag code |
data[].salespricetag_name |
string | sales price tag name |
data[].purchasepricetag_id |
string | purchase price tag id |
data[].purchasepricetag_code |
string | purchase price tag code |
data[].purchasepricetag_name |
string | purchase price tag name |
data[].debtoraccounts_id |
string | debtor account id |
data[].debtoraccounts_code |
string | debtor account code |
data[].debtoraccounts_name |
string | debtor account name |
data[].creditoraccounts_id |
string | creditor account id |
data[].creditoraccounts_code |
string | creditor account code |
data[].creditoraccounts_name |
string | creditor account name |
data[].termcontrol |
string | active term control flag (1/0) |
data[].issuspenddebtor |
string | suspend debtor usage flag (1/0) |
data[].issuspendcreditor |
string | suspend creditor usage flag (1/0) |
data[].purchaselimit |
string/number | purchase limit |
data[].saleslimit |
string/number | sales limit |
data[].iscontrolsaleslimit |
string | active sales limit control (1/0) |
data[].iscontrolsalesterm |
string | active sales term control (1/0) |
data[].iscontrolpurchaselimit |
string | active purchase limit control (1/0) |
data[].iscontrolpurchaseterm |
string | active purchase term control (1/0) |
data[].istransporter |
string | transporter flag (1/0) |
data[].isprospect |
string | prospect flag (1/0) |
data[].isdealer |
string | dealer flag (1/0) |
data[].linkorganization_id |
string | linked organization id |
data[].linkorganization_code |
string | linked organization code |
data[].linkorganization_name |
string | linked organization name |
data[].linkbranch_id |
string | linked branch id |
data[].linkbranch_code |
string | linked branch code |
data[].linkbranch_name |
string | linked branch name |
data[].isdebtor |
string | debtor flag (1/0) |
data[].iscreditor |
string | creditor flag (1/0) |
data[].isactive |
string | active flag (1/0) |
data[].updated |
datetime string |
YYYY-MM-DD HH:MM:SS or empty |
data[].address[] |
array | present when with_details=1
|
data[].address[].address_id |
string | address id |
data[].address[].address_name |
string | address label |
data[].address[].address_seq |
string | address sequence |
data[].address[].address_street1 |
string | street line 1 |
data[].address[].address_street2 |
string | street line 2 |
data[].address[].address_street3 |
string | street line 3 |
data[].address[].address_street4 |
string | street line 4 |
data[].address[].address_postcode |
string | postcode |
data[].address[].address_city |
string | city |
data[].address[].address_area |
string | area id |
data[].address[].address_area_code |
string | area code |
data[].address[].address_area_name |
string | area name |
data[].address[].address_country |
string | country code |
data[].address[].address_country_name |
string | country name |
data[].address[].address_tel1 |
string | tel 1 |
data[].address[].address_tel2 |
string | tel 2 |
data[].address[].address_fax |
string | fax |
data[].address[].address_desc |
string | description |
data[].address[].isshipment |
string | shipment flag (1/0) |
data[].address[].isinvoice |
string | invoice flag (1/0) |
data[].address[].isactive |
string | active flag (1/0) |
data[].address[].updated |
datetime string |
YYYY-MM-DD HH:MM:SS or empty |
data[].contact[] |
array | present when with_details=1
|
data[].contact[].contacts_id |
string | contact id |
data[].contact[].contacts_code |
string | contact code |
data[].contact[].contacts_name |
string | contact name |
data[].contact[].alternatename |
string | alternate name |
data[].contact[].description |
string | description |
data[].contact[].greeting |
string | greeting |
data[].contact[].email |
string | |
data[].contact[].hpno |
string | mobile no 1 |
data[].contact[].hpno2 |
string | mobile no 2 |
data[].contact[].tel_1 |
string | tel 1 |
data[].contact[].tel_2 |
string | tel 2 |
data[].contact[].fax |
string | fax |
data[].contact[].department |
string | department |
data[].contact[].uid |
string | uid |
data[].contact[].ic_no |
string | ic no |
data[].contact[].races_id |
string | race id |
data[].contact[].races_code |
string | race code |
data[].contact[].races_name |
string | race name |
data[].contact[].gender |
string | gender |
data[].contact[].language |
string | language |
data[].contact[].dateofbirth |
date string |
YYYY-MM-DD or empty |
data[].contact[].seqno |
string | sequence |
data[].contact[].isactive |
string | active flag (1/0) |
data[].contact[].updated |
datetime string |
YYYY-MM-DD HH:MM:SS or empty |
meta.pagination |
object/null | pagination object or null for all=1
|
meta.execute_time_ms |
int | execution time in ms |
meta.request_time |
datetime string | request timestamp |
meta.response_time |
datetime string | response timestamp |
curl -G "https://<host>/api/v3/business-partners" \
-H "Authorization: Bearer <token>" \
--data-urlencode "organization_code=BHH" \
--data-urlencode "is_debtor=1" \
--data-urlencode "with_details=1" \
--data-urlencode "all=1"{
"status": "OK",
"data": [
{
"bpartner_id": "1-1-1",
"bpartner_no": "BP0001",
"bpartner_name": "ABC Trading",
"group_id": "1-1-10",
"group_code": "CUST",
"group_name": "Customer",
"industry_id": "1-1-20",
"industry_code": "TRD",
"industry_name": "Trading",
"salesagent_id": "1-1-50",
"salesagent_no": "SA0001",
"salesagent_name": "John Agent",
"organization_id": "1",
"organization_code": "BHH",
"organization_name": "BHH Main",
"currency_code": "MYR",
"companyno": "202001234567",
"gstno": "SST-001122",
"source_identity": "TIN-1234567890",
"bankname": "ABC Bank",
"bankswiftcode": "ABCMYKL",
"bankaccountno": "123456789",
"bankaccountname": "ABC Trading",
"bp_girobankname": "",
"bp_girobankaccountno": "",
"shortremarks": "",
"description": "",
"tooltips": "",
"bpartnerline_id": "1-1-1-1",
"deliveryterm_id": "1-1-10",
"deliveryterm_code": "IMMEDIATE",
"deliveryterm_name": "Immediate",
"tax_id": "1-1-700",
"tax_code": "SR",
"tax_name": "Standard Rated",
"tax_rate": "8.00",
"salesterms_id": "1-1-801",
"salesterms_code": "30D",
"salesterms_name": "30 Days",
"salesterms_days": "30",
"purchaseterms_id": "",
"purchaseterms_code": "",
"purchaseterms_name": "",
"purchaseterms_days": "",
"salespricetag_id": "",
"salespricetag_code": "",
"salespricetag_name": "",
"purchasepricetag_id": "",
"purchasepricetag_code": "",
"purchasepricetag_name": "",
"debtoraccounts_id": "1-1-100",
"debtoraccounts_code": "1100-000",
"debtoraccounts_name": "Trade Debtor",
"creditoraccounts_id": "",
"creditoraccounts_code": "",
"creditoraccounts_name": "",
"termcontrol": "1",
"issuspenddebtor": "0",
"issuspendcreditor": "0",
"purchaselimit": "0.00",
"saleslimit": "10000.00",
"iscontrolsaleslimit": "1",
"iscontrolsalesterm": "1",
"iscontrolpurchaselimit": "0",
"iscontrolpurchaseterm": "0",
"istransporter": "0",
"isprospect": "0",
"isdealer": "0",
"linkorganization_id": "",
"linkorganization_code": "",
"linkorganization_name": "",
"linkbranch_id": "",
"linkbranch_code": "",
"linkbranch_name": "",
"isdebtor": "1",
"iscreditor": "0",
"isactive": "1",
"updated": "2026-04-09 10:15:00",
"address": [
{
"address_id": "AD001",
"address_name": "HQ",
"address_seq": "1",
"address_street1": "No 1 Jalan A",
"address_street2": "",
"address_street3": "",
"address_street4": "",
"address_postcode": "50450",
"address_city": "Kuala Lumpur",
"address_area": "AR01",
"address_area_code": "KL",
"address_area_name": "Kuala Lumpur",
"address_country": "MY",
"address_country_name": "Malaysia",
"address_tel1": "03-12345678",
"address_tel2": "",
"address_fax": "",
"address_desc": "",
"isshipment": "1",
"isinvoice": "1",
"isactive": "1",
"updated": "2026-04-09 10:15:00"
}
],
"contact": [
{
"contacts_id": "CT001",
"contacts_code": "PIC01",
"contacts_name": "John Tan",
"alternatename": "",
"description": "",
"greeting": "mr",
"email": "john@example.com",
"hpno": "0123456789",
"hpno2": "",
"tel_1": "",
"tel_2": "",
"fax": "",
"department": "Sales",
"uid": "",
"ic_no": "",
"races_id": "R01",
"races_code": "CH",
"races_name": "Chinese",
"gender": "m",
"language": "en",
"dateofbirth": "",
"seqno": "1",
"isactive": "1",
"updated": "2026-04-09 10:15:00"
}
]
}
],
"meta": {
"pagination": null,
"execute_time_ms": 14,
"request_time": "2026-04-10 14:10:00",
"response_time": "2026-04-10 14:10:00"
}
}GET /api/v3/business-partners/{id}
bpartner.master.read
None.
| Field | Type | Notes |
|---|---|---|
data |
object | single business partner row |
data.bpartner_id |
string | business partner id |
data.bpartner_no |
string | business partner no |
data.bpartner_name |
string | business partner name |
data.group_id |
string | group id |
data.group_code |
string | group code |
data.group_name |
string | group name |
data.industry_id |
string | industry id |
data.industry_code |
string | industry code |
data.industry_name |
string | industry name |
data.salesagent_id |
string | sales agent id |
data.salesagent_no |
string | sales agent no |
data.salesagent_name |
string | sales agent name |
data.organization_id |
string | organization id |
data.organization_code |
string | organization code |
data.organization_name |
string | organization name |
data.currency_code |
string | currency code |
data.companyno |
string | company registration no |
data.gstno |
string | SST/GST registration no |
data.source_identity |
string | source identity / TIN reference |
data.bankname |
string | bank name |
data.bankswiftcode |
string | bank swift code |
data.bankaccountno |
string | bank account no |
data.bankaccountname |
string | bank account name |
data.bp_girobankname |
string | giro bank name |
data.bp_girobankaccountno |
string | giro bank account no |
data.shortremarks |
string | short remarks |
data.description |
string | description |
data.tooltips |
string | tooltip text |
data.bpartnerline_id |
string | BP line id |
data.deliveryterm_id |
string | delivery term id |
data.deliveryterm_code |
string | delivery term code |
data.deliveryterm_name |
string | delivery term name |
data.tax_id |
string | tax id |
data.tax_code |
string | tax code |
data.tax_name |
string | tax name |
data.tax_rate |
string/number | tax rate |
data.salesterms_id |
string | sales term id |
data.salesterms_code |
string | sales term code |
data.salesterms_name |
string | sales term name |
data.salesterms_days |
string/int | sales term days |
data.purchaseterms_id |
string | purchase term id |
data.purchaseterms_code |
string | purchase term code |
data.purchaseterms_name |
string | purchase term name |
data.purchaseterms_days |
string/int | purchase term days |
data.salespricetag_id |
string | sales price tag id |
data.salespricetag_code |
string | sales price tag code |
data.salespricetag_name |
string | sales price tag name |
data.purchasepricetag_id |
string | purchase price tag id |
data.purchasepricetag_code |
string | purchase price tag code |
data.purchasepricetag_name |
string | purchase price tag name |
data.debtoraccounts_id |
string | debtor account id |
data.debtoraccounts_code |
string | debtor account code |
data.debtoraccounts_name |
string | debtor account name |
data.creditoraccounts_id |
string | creditor account id |
data.creditoraccounts_code |
string | creditor account code |
data.creditoraccounts_name |
string | creditor account name |
data.termcontrol |
string | active term control flag (1/0) |
data.issuspenddebtor |
string | suspend debtor usage flag (1/0) |
data.issuspendcreditor |
string | suspend creditor usage flag (1/0) |
data.purchaselimit |
string/number | purchase limit |
data.saleslimit |
string/number | sales limit |
data.iscontrolsaleslimit |
string | active sales limit control (1/0) |
data.iscontrolsalesterm |
string | active sales term control (1/0) |
data.iscontrolpurchaselimit |
string | active purchase limit control (1/0) |
data.iscontrolpurchaseterm |
string | active purchase term control (1/0) |
data.istransporter |
string | transporter flag (1/0) |
data.isprospect |
string | prospect flag (1/0) |
data.isdealer |
string | dealer flag (1/0) |
data.linkorganization_id |
string | linked organization id |
data.linkorganization_code |
string | linked organization code |
data.linkorganization_name |
string | linked organization name |
data.linkbranch_id |
string | linked branch id |
data.linkbranch_code |
string | linked branch code |
data.linkbranch_name |
string | linked branch name |
data.isdebtor |
string | debtor flag (1/0) |
data.iscreditor |
string | creditor flag (1/0) |
data.updated |
datetime string |
YYYY-MM-DD HH:MM:SS or empty |
data.address[] |
array | multiple address rows |
data.address[].address_id |
string | address id |
data.address[].address_name |
string | address label |
data.address[].address_seq |
string | address sequence |
data.address[].address_street1 |
string | street line 1 |
data.address[].address_street2 |
string | street line 2 |
data.address[].address_street3 |
string | street line 3 |
data.address[].address_street4 |
string | street line 4 |
data.address[].address_postcode |
string | postcode |
data.address[].address_city |
string | city |
data.address[].address_area |
string | area id |
data.address[].address_area_code |
string | area code |
data.address[].address_area_name |
string | area name |
data.address[].address_country |
string | country code |
data.address[].address_country_name |
string | country name |
data.address[].address_tel1 |
string | tel 1 |
data.address[].address_tel2 |
string | tel 2 |
data.address[].address_fax |
string | fax |
data.address[].address_desc |
string | description |
data.address[].isshipment |
string | shipment flag (1/0) |
data.address[].isinvoice |
string | invoice flag (1/0) |
data.address[].isactive |
string | active flag (1/0) |
data.address[].updated |
datetime string |
YYYY-MM-DD HH:MM:SS or empty |
data.contact[] |
array | multiple contact rows |
data.contact[].contacts_id |
string | contact id |
data.contact[].contacts_code |
string | contact code |
data.contact[].contacts_name |
string | contact name |
data.contact[].alternatename |
string | alternate name |
data.contact[].description |
string | description |
data.contact[].greeting |
string | greeting |
data.contact[].email |
string | |
data.contact[].hpno |
string | mobile no 1 |
data.contact[].hpno2 |
string | mobile no 2 |
data.contact[].tel_1 |
string | tel 1 |
data.contact[].tel_2 |
string | tel 2 |
data.contact[].fax |
string | fax |
data.contact[].department |
string | department |
data.contact[].uid |
string | uid |
data.contact[].ic_no |
string | ic no |
data.contact[].races_id |
string | race id |
data.contact[].races_code |
string | race code |
data.contact[].races_name |
string | race name |
data.contact[].gender |
string | gender |
data.contact[].language |
string | language |
data.contact[].dateofbirth |
date string |
YYYY-MM-DD or empty |
data.contact[].seqno |
string | sequence |
data.contact[].isactive |
string | active flag (1/0) |
data.contact[].updated |
datetime string |
YYYY-MM-DD HH:MM:SS or empty |
meta.execute_time_ms |
int | execution time in ms |
meta.request_time |
datetime string | request timestamp |
meta.response_time |
datetime string | response timestamp |
curl -X GET "https://<host>/api/v3/business-partners/1-1-1" \
-H "Authorization: Bearer <token>" \
{
"status": "OK",
"data": {
"bpartner_id": "1-1-1",
"bpartner_no": "BP0001",
"bpartner_name": "ABC Trading",
"group_id": "1-1-10",
"group_code": "CUST",
"group_name": "Customer",
"industry_id": "1-1-20",
"industry_code": "TRD",
"industry_name": "Trading",
"salesagent_id": "1-1-50",
"salesagent_no": "SA0001",
"salesagent_name": "John Agent",
"organization_id": "1",
"organization_code": "BHH",
"organization_name": "BHH Main",
"currency_code": "MYR",
"companyno": "202001234567",
"gstno": "SST-001122",
"source_identity": "TIN-1234567890",
"bankname": "ABC Bank",
"bankswiftcode": "ABCMYKL",
"bankaccountno": "123456789",
"bankaccountname": "ABC Trading",
"bp_girobankname": "",
"bp_girobankaccountno": "",
"shortremarks": "",
"description": "",
"tooltips": "",
"bpartnerline_id": "1-1-1-1",
"deliveryterm_id": "1-1-10",
"deliveryterm_code": "IMMEDIATE",
"deliveryterm_name": "Immediate",
"tax_id": "1-1-700",
"tax_code": "SR",
"tax_name": "Standard Rated",
"tax_rate": "8.00",
"salesterms_id": "1-1-801",
"salesterms_code": "30D",
"salesterms_name": "30 Days",
"salesterms_days": "30",
"purchaseterms_id": "",
"purchaseterms_code": "",
"purchaseterms_name": "",
"purchaseterms_days": "",
"salespricetag_id": "",
"salespricetag_code": "",
"salespricetag_name": "",
"purchasepricetag_id": "",
"purchasepricetag_code": "",
"purchasepricetag_name": "",
"debtoraccounts_id": "1-1-100",
"debtoraccounts_code": "1100-000",
"debtoraccounts_name": "Trade Debtor",
"creditoraccounts_id": "",
"creditoraccounts_code": "",
"creditoraccounts_name": "",
"termcontrol": "1",
"issuspenddebtor": "0",
"issuspendcreditor": "0",
"purchaselimit": "0.00",
"saleslimit": "10000.00",
"iscontrolsaleslimit": "1",
"iscontrolsalesterm": "1",
"iscontrolpurchaselimit": "0",
"iscontrolpurchaseterm": "0",
"istransporter": "0",
"isprospect": "0",
"isdealer": "0",
"linkorganization_id": "",
"linkorganization_code": "",
"linkorganization_name": "",
"linkbranch_id": "",
"linkbranch_code": "",
"linkbranch_name": "",
"isdebtor": "1",
"iscreditor": "0",
"updated": "2026-04-09 10:15:00",
"address": [
{
"address_id": "AD001",
"address_name": "HQ",
"address_seq": "1",
"address_street1": "No 1 Jalan A",
"address_street2": "",
"address_street3": "",
"address_street4": "",
"address_postcode": "50450",
"address_city": "Kuala Lumpur",
"address_area": "AR01",
"address_area_code": "KL",
"address_area_name": "Kuala Lumpur",
"address_country": "MY",
"address_country_name": "Malaysia",
"address_tel1": "03-12345678",
"address_tel2": "",
"address_fax": "",
"address_desc": "",
"isshipment": "1",
"isinvoice": "1",
"isactive": "1",
"updated": "2026-04-09 10:15:00"
}
],
"contact": [
{
"contacts_id": "CT001",
"contacts_code": "PIC01",
"contacts_name": "John Tan",
"alternatename": "",
"description": "",
"greeting": "mr",
"email": "john@example.com",
"hpno": "0123456789",
"hpno2": "",
"tel_1": "",
"tel_2": "",
"fax": "",
"department": "Sales",
"uid": "",
"ic_no": "",
"races_id": "R01",
"races_code": "CH",
"races_name": "Chinese",
"gender": "m",
"language": "en",
"dateofbirth": "",
"seqno": "1",
"isactive": "1",
"updated": "2026-04-09 10:15:00"
}
]
},
"meta": {
"execute_time_ms": 8,
"request_time": "2026-04-10 14:10:00",
"response_time": "2026-04-10 14:10:00"
}
}GET /api/v3/business-partners/by-no/{bpartnerNo}
bpartner.master.read
None.
| Field | Type | Notes |
|---|---|---|
data |
object | single business partner row |
data.bpartner_id |
string | business partner id |
data.bpartner_no |
string | business partner no |
data.bpartner_name |
string | business partner name |
data.group_id |
string | group id |
data.group_code |
string | group code |
data.group_name |
string | group name |
data.industry_id |
string | industry id |
data.industry_code |
string | industry code |
data.industry_name |
string | industry name |
data.salesagent_id |
string | sales agent id |
data.salesagent_no |
string | sales agent no |
data.salesagent_name |
string | sales agent name |
data.organization_id |
string | organization id |
data.organization_code |
string | organization code |
data.organization_name |
string | organization name |
data.currency_code |
string | currency code |
data.companyno |
string | company registration no |
data.gstno |
string | SST/GST registration no |
data.source_identity |
string | source identity / TIN reference |
data.bankname |
string | bank name |
data.bankswiftcode |
string | bank swift code |
data.bankaccountno |
string | bank account no |
data.bankaccountname |
string | bank account name |
data.bp_girobankname |
string | giro bank name |
data.bp_girobankaccountno |
string | giro bank account no |
data.shortremarks |
string | short remarks |
data.description |
string | description |
data.tooltips |
string | tooltip text |
data.bpartnerline_id |
string | BP line id |
data.deliveryterm_id |
string | delivery term id |
data.deliveryterm_code |
string | delivery term code |
data.deliveryterm_name |
string | delivery term name |
data.tax_id |
string | tax id |
data.tax_code |
string | tax code |
data.tax_name |
string | tax name |
data.tax_rate |
string/number | tax rate |
data.salesterms_id |
string | sales term id |
data.salesterms_code |
string | sales term code |
data.salesterms_name |
string | sales term name |
data.salesterms_days |
string/int | sales term days |
data.purchaseterms_id |
string | purchase term id |
data.purchaseterms_code |
string | purchase term code |
data.purchaseterms_name |
string | purchase term name |
data.purchaseterms_days |
string/int | purchase term days |
data.salespricetag_id |
string | sales price tag id |
data.salespricetag_code |
string | sales price tag code |
data.salespricetag_name |
string | sales price tag name |
data.purchasepricetag_id |
string | purchase price tag id |
data.purchasepricetag_code |
string | purchase price tag code |
data.purchasepricetag_name |
string | purchase price tag name |
data.debtoraccounts_id |
string | debtor account id |
data.debtoraccounts_code |
string | debtor account code |
data.debtoraccounts_name |
string | debtor account name |
data.creditoraccounts_id |
string | creditor account id |
data.creditoraccounts_code |
string | creditor account code |
data.creditoraccounts_name |
string | creditor account name |
data.termcontrol |
string | active term control flag (1/0) |
data.issuspenddebtor |
string | suspend debtor usage flag (1/0) |
data.issuspendcreditor |
string | suspend creditor usage flag (1/0) |
data.purchaselimit |
string/number | purchase limit |
data.saleslimit |
string/number | sales limit |
data.iscontrolsaleslimit |
string | active sales limit control (1/0) |
data.iscontrolsalesterm |
string | active sales term control (1/0) |
data.iscontrolpurchaselimit |
string | active purchase limit control (1/0) |
data.iscontrolpurchaseterm |
string | active purchase term control (1/0) |
data.istransporter |
string | transporter flag (1/0) |
data.isprospect |
string | prospect flag (1/0) |
data.isdealer |
string | dealer flag (1/0) |
data.linkorganization_id |
string | linked organization id |
data.linkorganization_code |
string | linked organization code |
data.linkorganization_name |
string | linked organization name |
data.linkbranch_id |
string | linked branch id |
data.linkbranch_code |
string | linked branch code |
data.linkbranch_name |
string | linked branch name |
data.isdebtor |
string | debtor flag (1/0) |
data.iscreditor |
string | creditor flag (1/0) |
data.updated |
datetime string |
YYYY-MM-DD HH:MM:SS or empty |
data.address[] |
array | multiple address rows |
data.address[].address_id |
string | address id |
data.address[].address_name |
string | address label |
data.address[].address_seq |
string | address sequence |
data.address[].address_street1 |
string | street line 1 |
data.address[].address_street2 |
string | street line 2 |
data.address[].address_street3 |
string | street line 3 |
data.address[].address_street4 |
string | street line 4 |
data.address[].address_postcode |
string | postcode |
data.address[].address_city |
string | city |
data.address[].address_area |
string | area id |
data.address[].address_area_code |
string | area code |
data.address[].address_area_name |
string | area name |
data.address[].address_country |
string | country code |
data.address[].address_country_name |
string | country name |
data.address[].address_tel1 |
string | tel 1 |
data.address[].address_tel2 |
string | tel 2 |
data.address[].address_fax |
string | fax |
data.address[].address_desc |
string | description |
data.address[].isshipment |
string | shipment flag (1/0) |
data.address[].isinvoice |
string | invoice flag (1/0) |
data.address[].isactive |
string | active flag (1/0) |
data.address[].updated |
datetime string |
YYYY-MM-DD HH:MM:SS or empty |
data.contact[] |
array | multiple contact rows |
data.contact[].contacts_id |
string | contact id |
data.contact[].contacts_code |
string | contact code |
data.contact[].contacts_name |
string | contact name |
data.contact[].alternatename |
string | alternate name |
data.contact[].description |
string | description |
data.contact[].greeting |
string | greeting |
data.contact[].email |
string | |
data.contact[].hpno |
string | mobile no 1 |
data.contact[].hpno2 |
string | mobile no 2 |
data.contact[].tel_1 |
string | tel 1 |
data.contact[].tel_2 |
string | tel 2 |
data.contact[].fax |
string | fax |
data.contact[].department |
string | department |
data.contact[].uid |
string | uid |
data.contact[].ic_no |
string | ic no |
data.contact[].races_id |
string | race id |
data.contact[].races_code |
string | race code |
data.contact[].races_name |
string | race name |
data.contact[].gender |
string | gender |
data.contact[].language |
string | language |
data.contact[].dateofbirth |
date string |
YYYY-MM-DD or empty |
data.contact[].seqno |
string | sequence |
data.contact[].isactive |
string | active flag (1/0) |
data.contact[].updated |
datetime string |
YYYY-MM-DD HH:MM:SS or empty |
meta.execute_time_ms |
int | execution time in ms |
meta.request_time |
datetime string | request timestamp |
meta.response_time |
datetime string | response timestamp |
curl -X GET "https://<host>/api/v3/business-partners/by-no/BP0001" \
-H "Authorization: Bearer <token>" \
{
"status": "OK",
"data": {
"bpartner_id": "1-1-1",
"bpartner_no": "BP0001",
"bpartner_name": "ABC Trading",
"group_id": "1-1-10",
"group_code": "CUST",
"group_name": "Customer",
"industry_id": "1-1-20",
"industry_code": "TRD",
"industry_name": "Trading",
"salesagent_id": "1-1-50",
"salesagent_no": "SA0001",
"salesagent_name": "John Agent",
"organization_id": "1",
"organization_code": "BHH",
"organization_name": "BHH Main",
"currency_code": "MYR",
"companyno": "202001234567",
"gstno": "SST-001122",
"source_identity": "TIN-1234567890",
"bankname": "ABC Bank",
"bankswiftcode": "ABCMYKL",
"bankaccountno": "123456789",
"bankaccountname": "ABC Trading",
"bp_girobankname": "",
"bp_girobankaccountno": "",
"shortremarks": "",
"description": "",
"tooltips": "",
"bpartnerline_id": "1-1-1-1",
"deliveryterm_id": "1-1-10",
"deliveryterm_code": "IMMEDIATE",
"deliveryterm_name": "Immediate",
"tax_id": "1-1-700",
"tax_code": "SR",
"tax_name": "Standard Rated",
"tax_rate": "8.00",
"salesterms_id": "1-1-801",
"salesterms_code": "30D",
"salesterms_name": "30 Days",
"salesterms_days": "30",
"purchaseterms_id": "",
"purchaseterms_code": "",
"purchaseterms_name": "",
"purchaseterms_days": "",
"salespricetag_id": "",
"salespricetag_code": "",
"salespricetag_name": "",
"purchasepricetag_id": "",
"purchasepricetag_code": "",
"purchasepricetag_name": "",
"debtoraccounts_id": "1-1-100",
"debtoraccounts_code": "1100-000",
"debtoraccounts_name": "Trade Debtor",
"creditoraccounts_id": "",
"creditoraccounts_code": "",
"creditoraccounts_name": "",
"termcontrol": "1",
"issuspenddebtor": "0",
"issuspendcreditor": "0",
"purchaselimit": "0.00",
"saleslimit": "10000.00",
"iscontrolsaleslimit": "1",
"iscontrolsalesterm": "1",
"iscontrolpurchaselimit": "0",
"iscontrolpurchaseterm": "0",
"istransporter": "0",
"isprospect": "0",
"isdealer": "0",
"linkorganization_id": "",
"linkorganization_code": "",
"linkorganization_name": "",
"linkbranch_id": "",
"linkbranch_code": "",
"linkbranch_name": "",
"isdebtor": "1",
"iscreditor": "0",
"updated": "2026-04-09 10:15:00",
"address": [
{
"address_id": "AD001",
"address_name": "HQ",
"address_seq": "1",
"address_street1": "No 1 Jalan A",
"address_street2": "",
"address_street3": "",
"address_street4": "",
"address_postcode": "50450",
"address_city": "Kuala Lumpur",
"address_area": "AR01",
"address_area_code": "KL",
"address_area_name": "Kuala Lumpur",
"address_country": "MY",
"address_country_name": "Malaysia",
"address_tel1": "03-12345678",
"address_tel2": "",
"address_fax": "",
"address_desc": "",
"isshipment": "1",
"isinvoice": "1",
"isactive": "1",
"updated": "2026-04-09 10:15:00"
}
],
"contact": [
{
"contacts_id": "CT001",
"contacts_code": "PIC01",
"contacts_name": "John Tan",
"alternatename": "",
"description": "",
"greeting": "mr",
"email": "john@example.com",
"hpno": "0123456789",
"hpno2": "",
"tel_1": "",
"tel_2": "",
"fax": "",
"department": "Sales",
"uid": "",
"ic_no": "",
"races_id": "R01",
"races_code": "CH",
"races_name": "Chinese",
"gender": "m",
"language": "en",
"dateofbirth": "",
"seqno": "1",
"isactive": "1",
"updated": "2026-04-09 10:15:00"
}
]
},
"meta": {
"execute_time_ms": 8,
"request_time": "2026-04-10 14:10:00",
"response_time": "2026-04-10 14:10:00"
}
}GET /api/v3/business-partners/groups
bpartner.reference.read
| Parameter | Type | Required | Notes |
|---|---|---|---|
organization_id |
string | No | |
org_id |
string | No | |
organization_code |
string | No | |
org_code |
string | No |
| Field | Type | Notes |
|---|---|---|
data[] |
array | list of BP group rows |
data[].id |
string | group id |
data[].code |
string | group code |
data[].name |
string | group name |
data[].updated |
datetime string |
YYYY-MM-DD HH:MM:SS or empty |
meta.execute_time_ms |
int | execution time in ms |
meta.request_time |
datetime string | request timestamp |
meta.response_time |
datetime string | response timestamp |
curl -G "https://<host>/api/v3/business-partners/groups" \
-H "Authorization: Bearer <token>" \
--data-urlencode "org_code=BHH"{
"status": "OK",
"data": [
{ "id": "1-1-10", "code": "CUST", "name": "Customer", "updated": "" }
],
"meta": {
"execute_time_ms": 5,
"request_time": "2026-04-10 14:10:00",
"response_time": "2026-04-10 14:10:00"
}
}GET /api/v3/business-partners/industries
bpartner.reference.read
| Parameter | Type | Required | Notes |
|---|---|---|---|
organization_id |
string | No | |
org_id |
string | No | |
organization_code |
string | No | |
org_code |
string | No |
| Field | Type | Notes |
|---|---|---|
data[] |
array | list of BP industry rows |
data[].id |
string | industry id |
data[].code |
string | industry code |
data[].name |
string | industry name |
data[].updated |
datetime string |
YYYY-MM-DD HH:MM:SS or empty |
meta.execute_time_ms |
int | execution time in ms |
meta.request_time |
datetime string | request timestamp |
meta.response_time |
datetime string | response timestamp |
curl -G "https://<host>/api/v3/business-partners/industries" \
-H "Authorization: Bearer <token>" \
--data-urlencode "org_code=BHH"{
"status": "OK",
"data": [
{ "id": "1-1-20", "code": "TRD", "name": "Trading", "updated": "" }
],
"meta": {
"execute_time_ms": 5,
"request_time": "2026-04-10 14:10:00",
"response_time": "2026-04-10 14:10:00"
}
}POST /api/v3/business-partners
bpartner.master.write
Body is required (JSON object with header and line).
Body Parameters (root):
| Field | Required | Accepted Value / Format | Notes |
|---|---|---|---|
header |
Yes | object | header payload |
line |
Yes | object | line payload |
address |
No | array | optional address rows |
contact |
No | array | optional contact rows |
Body Parameters (header):
| Field | Required | Accepted Value / Format | Notes |
|---|---|---|---|
header.organization_id |
No | valid organization id | use id or code |
header.organization_code |
No | valid organization code | use id or code |
header.bpartner_no |
Yes | non-empty string | unique partner number |
header.bpartner_name |
Yes | non-empty string | partner display name |
header.group_id |
No | valid group id | if provided, must exist |
header.group_code |
No | valid group code | if provided, must exist |
header.industry_id |
No | valid industry id | if provided, must exist |
header.industry_code |
No | valid industry code | if provided, must exist |
header.isactive |
No |
1 or 0
|
default from server if omitted |
header.registered_date |
No | YYYY-MM-DD |
optional |
header.document_date |
No | YYYY-MM-DD |
optional |
header.gstno |
No | string | optional |
header.companyno |
No | string | optional |
header.alternatename |
No | string | optional |
header.bankname |
No | string | optional |
header.bankaccountno |
No | string | optional |
header.bankaccountname |
No | string | optional |
header.shortremarks |
No | string | optional |
header.description |
No | string | optional |
header.tooltips |
No | string | optional |
header.uname |
No | string | optional |
header.pass |
No | string | optional |
header.inchargeperson |
No | string | optional |
header.seqno |
No | integer string | optional |
header.membergroup_id |
No | valid member group id | if provided, must exist |
header.membergroup_code |
No | valid member group code | if provided, must exist |
Body Parameters (line):
| Field | Required | Accepted Value / Format | Notes |
|---|---|---|---|
line.currency_code |
Yes | valid currency code | example MYR
|
line.isdebtor |
No |
1 or 0
|
debtor flag |
line.iscreditor |
No |
1 or 0
|
creditor flag |
line.deliveryterm_id |
No | valid id | optional |
line.deliveryterm_code |
No | valid code | optional |
line.tax_id |
No | valid id | optional |
line.tax_code |
No | valid code | optional |
line.salesterms_id |
No | valid id | optional |
line.salesterms_code |
No | valid code | optional |
line.purchaseterms_id |
No | valid id | optional |
line.purchaseterms_code |
No | valid code | optional |
line.salespricetag_id |
No | valid id | optional |
line.salespricetag_code |
No | valid code | optional |
line.purchasepricetag_id |
No | valid id | optional |
line.purchasepricetag_code |
No | valid code | optional |
line.debtoraccounts_id |
No | valid id | optional |
line.debtoraccounts_code |
No | valid code | optional |
line.creditoraccounts_id |
No | valid id | optional |
line.creditoraccounts_code |
No | valid code | optional |
line.salesagent_id |
No | valid id | optional |
line.salesagent_code |
No | valid code | optional |
line.istransporter |
No |
1 or 0
|
optional flag |
line.isprospect |
No |
1 or 0
|
optional flag |
line.isdealer |
No |
1 or 0
|
optional flag |
line.termcontrol |
No |
1 or 0
|
optional |
line.linkorganization_id |
No | valid id | optional |
line.linkorganization_code |
No | valid code | optional |
line.linkbranch_id |
No | valid id | optional |
line.linkbranch_code |
No | valid code | optional |
line.purchaselimit |
No | decimal string | optional |
line.saleslimit |
No | decimal string | optional |
line.iscontrolsaleslimit |
No |
1 or 0
|
optional flag |
line.iscontrolsalesterm |
No |
1 or 0
|
optional flag |
line.iscontrolpurchaselimit |
No |
1 or 0
|
optional flag |
line.iscontrolpurchaseterm |
No |
1 or 0
|
optional flag |
Body Parameters (address[], optional):
| Field | Required | Accepted Value / Format | Notes |
|---|---|---|---|
address[].address_name |
No | string | label |
address[].address_seq |
No | integer string | sequence |
address[].address_street1 |
No | string | street line 1 |
address[].address_street2 |
No | string | street line 2 |
address[].address_street3 |
No | string | street line 3 |
address[].address_street4 |
No | string | street line 4 |
address[].address_postcode |
No | string | postcode |
address[].address_city |
No | string | city |
address[].address_area |
No | valid area id/code | optional |
address[].address_country |
No | valid country code | optional |
address[].address_tel1 |
No | string | contact phone 1 |
address[].address_tel2 |
No | string | contact phone 2 |
address[].address_fax |
No | string | contact fax |
address[].isshipment |
No |
1 or 0
|
shipment flag |
address[].isinvoice |
No |
1 or 0
|
invoice flag |
address[].isactive |
No |
1 or 0
|
active flag |
Body Parameters (contact[], optional):
| Field | Required | Accepted Value / Format | Notes |
|---|---|---|---|
contact[].contacts_code |
No | string | contact code |
contact[].contacts_name |
No | string | contact name |
contact[].email |
No | email string | optional |
contact[].hpno |
No | string | mobile phone 1 |
contact[].hpno2 |
No | string | mobile phone 2 |
contact[].tel_1 |
No | string | telephone 1 |
contact[].tel_2 |
No | string | telephone 2 |
contact[].fax |
No | string | fax |
contact[].greeting |
No | string | e.g. mr, ms
|
contact[].gender |
No |
m or f
|
optional |
contact[].dateofbirth |
No | YYYY-MM-DD |
optional |
contact[].isactive |
No |
1 or 0
|
optional |
None.
| Field | Type | Notes |
|---|---|---|
data.status |
string | command status (OK) |
data.document_id |
string | created business partner id |
data.updated |
datetime string | empty string in command response |
meta.execute_time_ms |
int | execution time in ms |
meta.request_time |
datetime string | request timestamp |
meta.response_time |
datetime string | response timestamp |
curl -X POST "https://<host>/api/v3/business-partners" \
-H "Authorization: Bearer <token>" \
-H "Content-Type: application/json" \
-d '{
"header": {
"organization_code": "BHH",
"bpartner_no": "BPNEW001",
"bpartner_name": "New Partner",
"isactive": "1"
},
"line": {
"currency_code": "MYR",
"isdebtor": "1",
"iscreditor": "0"
},
"address": [],
"contact": []
}'{
"status": "OK",
"data": {
"status": "OK",
"document_id": "1-1-1",
"updated": ""
},
"meta": {
"execute_time_ms": 22,
"request_time": "2026-04-10 14:10:00",
"response_time": "2026-04-10 14:10:00"
}
}PATCH /api/v3/business-partners/{id}
bpartner.master.write
{id} is the target business partner id (path parameter).
Updated values must be sent in JSON body.
Body Parameters (root):
| Field | Required | Accepted Value / Format | Notes |
|---|---|---|---|
header |
Yes | object | header payload |
line |
Yes | object | line payload |
Body Parameters (header):
| Field | Required | Accepted Value / Format | Notes |
|---|---|---|---|
header.bpartner_id |
No | valid business partner id | auto-filled from path {id} if omitted |
header.bpartner_no |
No | valid partner no | can be used for matching if id not supplied |
header.bpartner_name |
No | non-empty string | update partner name |
header.group_id |
No | valid group id/code | |
header.group_code |
No | valid group id/code | |
header.industry_id |
No | valid industry id/code | |
header.industry_code |
No | valid industry id/code | |
header.isactive |
No |
1 or 0
|
active flag |
header.organization_id |
No | valid org id/code | |
header.organization_code |
No | valid org id/code | |
other header fields from create section |
No | same accepted values | optional updates |
Body Parameters (line):
| Field | Required | Accepted Value / Format | Notes |
|---|---|---|---|
line.currency_code |
Yes | valid currency code | required by current update flow |
line.isdebtor |
No |
1 or 0
|
|
line.iscreditor |
No |
1 or 0
|
|
| id/code pair fields in create section | No | valid id/code | optional |
| limit/control fields in create section | No | decimal / 1 or 0
|
optional |
Update behavior notes:
- If
header.bpartner_idis missing, API auto-fills it from{id}path parameter. - API can update by
header.bpartner_idorheader.bpartner_no; if both are empty, update fails. -
addressandcontactare not processed by current PATCH flow; use BP-specific maintenance flow if address/contact updates are required.
None.
| Field | Type | Notes |
|---|---|---|
data.status |
string | command status (OK) |
data.document_id |
string | updated business partner id |
data.updated |
datetime string | empty string in command response |
meta.execute_time_ms |
int | execution time in ms |
meta.request_time |
datetime string | request timestamp |
meta.response_time |
datetime string | response timestamp |
curl -X PATCH "https://<host>/api/v3/business-partners/1-1-1" \
-H "Authorization: Bearer <token>" \
-H "Content-Type: application/json" \
-d '{
"header": {
"bpartner_name": "Updated Partner Name"
},
"line": {
"currency_code": "MYR"
}
}'{
"status": "OK",
"data": {
"status": "OK",
"document_id": "1-1-1",
"updated": ""
},
"meta": {
"execute_time_ms": 21,
"request_time": "2026-04-10 14:10:00",
"response_time": "2026-04-10 14:10:00"
}
}