curl --request POST \
--url https://staging-api.usetyms.com/v1/adam/create/income \
--header 'Content-Type: application/json' \
--header 'X-API-Key: <api-key>' \
--data '
{
"date": "2026-03-04",
"currency": "NGN",
"document_number": "RCT-881",
"narration": "Walk-in sale — March 4",
"customer": "a1b2c3d4e5f6478990a1b2c3d4e5f678",
"payment_category": "Cash on Hand",
"amount_paid": 75000,
"items": [
{
"item_name": "Consulting package",
"quantity": 1,
"selling_price": 75000,
"category": "Service Income",
"tax": 7.5
}
]
}
'import requests
url = "https://staging-api.usetyms.com/v1/adam/create/income"
payload = {
"date": "2026-03-04",
"currency": "NGN",
"document_number": "RCT-881",
"narration": "Walk-in sale — March 4",
"customer": "a1b2c3d4e5f6478990a1b2c3d4e5f678",
"payment_category": "Cash on Hand",
"amount_paid": 75000,
"items": [
{
"item_name": "Consulting package",
"quantity": 1,
"selling_price": 75000,
"category": "Service Income",
"tax": 7.5
}
]
}
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-04',
currency: 'NGN',
document_number: 'RCT-881',
narration: 'Walk-in sale — March 4',
customer: 'a1b2c3d4e5f6478990a1b2c3d4e5f678',
payment_category: 'Cash on Hand',
amount_paid: 75000,
items: [
{
item_name: 'Consulting package',
quantity: 1,
selling_price: 75000,
category: 'Service Income',
tax: 7.5
}
]
})
};
fetch('https://staging-api.usetyms.com/v1/adam/create/income', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));{
"status": "success",
"message": "Income imported successfully",
"data": [
{
"uuid": "d3e4f5a6b7c8428290a1b2c3d4e5f6e4",
"transaction_type": "sales_receipt",
"status": "paid",
"receipt_no": "RCT-881"
}
]
}{
"status": "failed",
"message": "<string>"
}Create income
curl --request POST \
--url https://staging-api.usetyms.com/v1/adam/create/income \
--header 'Content-Type: application/json' \
--header 'X-API-Key: <api-key>' \
--data '
{
"date": "2026-03-04",
"currency": "NGN",
"document_number": "RCT-881",
"narration": "Walk-in sale — March 4",
"customer": "a1b2c3d4e5f6478990a1b2c3d4e5f678",
"payment_category": "Cash on Hand",
"amount_paid": 75000,
"items": [
{
"item_name": "Consulting package",
"quantity": 1,
"selling_price": 75000,
"category": "Service Income",
"tax": 7.5
}
]
}
'import requests
url = "https://staging-api.usetyms.com/v1/adam/create/income"
payload = {
"date": "2026-03-04",
"currency": "NGN",
"document_number": "RCT-881",
"narration": "Walk-in sale — March 4",
"customer": "a1b2c3d4e5f6478990a1b2c3d4e5f678",
"payment_category": "Cash on Hand",
"amount_paid": 75000,
"items": [
{
"item_name": "Consulting package",
"quantity": 1,
"selling_price": 75000,
"category": "Service Income",
"tax": 7.5
}
]
}
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-04',
currency: 'NGN',
document_number: 'RCT-881',
narration: 'Walk-in sale — March 4',
customer: 'a1b2c3d4e5f6478990a1b2c3d4e5f678',
payment_category: 'Cash on Hand',
amount_paid: 75000,
items: [
{
item_name: 'Consulting package',
quantity: 1,
selling_price: 75000,
category: 'Service Income',
tax: 7.5
}
]
})
};
fetch('https://staging-api.usetyms.com/v1/adam/create/income', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));{
"status": "success",
"message": "Income imported successfully",
"data": [
{
"uuid": "d3e4f5a6b7c8428290a1b2c3d4e5f6e4",
"transaction_type": "sales_receipt",
"status": "paid",
"receipt_no": "RCT-881"
}
]
}{
"status": "failed",
"message": "<string>"
}Authorizations
Business secret tyms_sk_... for business-scoped routes. Partner secret for register-business and referred-business distributor routes.
Body
1Hide child attributes
Hide child attributes
Line label. Alias: name.
Quantity sold or purchased.
Unit price. On bills this is unit cost. Alias: price.
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.
Cash or bank name received into.
Returned as receipt_no.
Response
Income created