curl --request POST \
--url https://staging-api.usetyms.com/v1/adam/create/bill \
--header 'Content-Type: application/json' \
--header 'X-API-Key: <api-key>' \
--data '
{
"date": "2026-03-02",
"document_due": "2026-03-16",
"currency": "NGN",
"document_number": "BILL-550",
"narration": "Office supplies — Q1 restock",
"customer": "v8e7d6c5b4a3418290f0e9d8c7b6a5947",
"payment_category": "Petty Cash",
"amount_paid": 42000,
"items": [
{
"item_name": "Printer paper A4",
"quantity": 10,
"selling_price": 3200,
"category": "Office Supplies",
"tax": 0
},
{
"item_name": "Toner cartridge",
"quantity": 1,
"selling_price": 10000,
"category": "Office Supplies"
}
]
}
'import requests
url = "https://staging-api.usetyms.com/v1/adam/create/bill"
payload = {
"date": "2026-03-02",
"document_due": "2026-03-16",
"currency": "NGN",
"document_number": "BILL-550",
"narration": "Office supplies — Q1 restock",
"customer": "v8e7d6c5b4a3418290f0e9d8c7b6a5947",
"payment_category": "Petty Cash",
"amount_paid": 42000,
"items": [
{
"item_name": "Printer paper A4",
"quantity": 10,
"selling_price": 3200,
"category": "Office Supplies",
"tax": 0
},
{
"item_name": "Toner cartridge",
"quantity": 1,
"selling_price": 10000,
"category": "Office Supplies"
}
]
}
headers = {
"X-API-Key": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'X-API-Key': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({
date: '2026-03-02',
document_due: '2026-03-16',
currency: 'NGN',
document_number: 'BILL-550',
narration: 'Office supplies — Q1 restock',
customer: 'v8e7d6c5b4a3418290f0e9d8c7b6a5947',
payment_category: 'Petty Cash',
amount_paid: 42000,
items: [
{
item_name: 'Printer paper A4',
quantity: 10,
selling_price: 3200,
category: 'Office Supplies',
tax: 0
},
{
item_name: 'Toner cartridge',
quantity: 1,
selling_price: 10000,
category: 'Office Supplies'
}
]
})
};
fetch('https://staging-api.usetyms.com/v1/adam/create/bill', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));{
"status": "success",
"message": "Bill imported successfully.",
"data": [
{
"uuid": "b5c6d7e8f9a0418290a1b2c3d4e5f6b7",
"transaction_type": "bills",
"status": "pending",
"document_number": "BILL-550"
}
]
}{
"status": "failed",
"message": "<string>"
}Create bill
curl --request POST \
--url https://staging-api.usetyms.com/v1/adam/create/bill \
--header 'Content-Type: application/json' \
--header 'X-API-Key: <api-key>' \
--data '
{
"date": "2026-03-02",
"document_due": "2026-03-16",
"currency": "NGN",
"document_number": "BILL-550",
"narration": "Office supplies — Q1 restock",
"customer": "v8e7d6c5b4a3418290f0e9d8c7b6a5947",
"payment_category": "Petty Cash",
"amount_paid": 42000,
"items": [
{
"item_name": "Printer paper A4",
"quantity": 10,
"selling_price": 3200,
"category": "Office Supplies",
"tax": 0
},
{
"item_name": "Toner cartridge",
"quantity": 1,
"selling_price": 10000,
"category": "Office Supplies"
}
]
}
'import requests
url = "https://staging-api.usetyms.com/v1/adam/create/bill"
payload = {
"date": "2026-03-02",
"document_due": "2026-03-16",
"currency": "NGN",
"document_number": "BILL-550",
"narration": "Office supplies — Q1 restock",
"customer": "v8e7d6c5b4a3418290f0e9d8c7b6a5947",
"payment_category": "Petty Cash",
"amount_paid": 42000,
"items": [
{
"item_name": "Printer paper A4",
"quantity": 10,
"selling_price": 3200,
"category": "Office Supplies",
"tax": 0
},
{
"item_name": "Toner cartridge",
"quantity": 1,
"selling_price": 10000,
"category": "Office Supplies"
}
]
}
headers = {
"X-API-Key": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'X-API-Key': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({
date: '2026-03-02',
document_due: '2026-03-16',
currency: 'NGN',
document_number: 'BILL-550',
narration: 'Office supplies — Q1 restock',
customer: 'v8e7d6c5b4a3418290f0e9d8c7b6a5947',
payment_category: 'Petty Cash',
amount_paid: 42000,
items: [
{
item_name: 'Printer paper A4',
quantity: 10,
selling_price: 3200,
category: 'Office Supplies',
tax: 0
},
{
item_name: 'Toner cartridge',
quantity: 1,
selling_price: 10000,
category: 'Office Supplies'
}
]
})
};
fetch('https://staging-api.usetyms.com/v1/adam/create/bill', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));{
"status": "success",
"message": "Bill imported successfully.",
"data": [
{
"uuid": "b5c6d7e8f9a0418290a1b2c3d4e5f6b7",
"transaction_type": "bills",
"status": "pending",
"document_number": "BILL-550"
}
]
}{
"status": "failed",
"message": "<string>"
}Authorizations
Business secret tyms_sk_... for business-scoped routes. Partner secret for register-business and referred-business distributor routes.
Body
Bill date.
Payment due date. Alias: due_date.
Currency code.
1Hide child attributes
Hide child attributes
Line label. Alias: name.
Quantity sold or purchased.
Unit price. On bills this is unit cost. Alias: price.
Required. Revenue, expense, or inventory account — name, uuid, or account code.
Optional line description.
Tax rate as a percentage (e.g. 7.5 = 7.5%). Preferred over tax_uuid.
Optional tax record uuid instead of tax percentage.
Withholding tax (WHT) rate as a percentage.
Optional WHT uuid instead of withholding_tax percentage.
Line discount value.
percent or amount / fixed.
percent, amount, fixed true if the line affects stock.
Existing inventory item uuid when linking stock.
Vendor uuid, name, or email. Alias: vendor.
Bill reference. Alias: bill_no.
Document title.
Internal note.
Optional accounts payable control account.
Amount paid now. Omit for an open bill.
Cash or bank account name payment came from.
Default 1.
Default pending. Use draft to save without posting.
Response
Bill created