Finance & ERP
Company finance
The company's finance summary read from the ERP and its sales invoices: balance, overdue amount, credit limit, risk (balance ÷ limit), open / overdue invoice count and amount, last-12-months revenue, average payment terms and the last invoice. Amounts are in the ERP currency (currency; revenue in revenue_currency). If the company is not matched to an ERP account, or the user may not see finance (Settings → Accounting & ERP → Who sees finance), finance is null. The company card (GET /api/v1/customers/{id}) returns the same summary in finance plus the company's tax_no and tax_office.
Authorization
AuthorizationheaderrequiredBearer token: API key (sk_…), OAuth access token (mcp_…) or mobile session (xk_…).
Module: CustomersScope:
crm.readPath parameters
idintegerrequiredCompany id.
Query parameters
statusstringoptionaldefault: allInvoice filter.
Values
allopenoverduepaidlimitintegeroptionaldefault: 50Max invoices (1–500).
Errors
| HTTP | error | Meaning |
|---|---|---|
404 | not_found | Record not found. |
403 | module | The module is off in the licence or for the user. |
Request
curl "https://ornek.solk.app/api/v1/customers/9/finance?status=all&limit=5" \
-H "Authorization: Bearer $SOLK_API_KEY"const res = await fetch("https://ornek.solk.app/api/v1/customers/9/finance?status=all&limit=5", {
headers: {
Authorization: `Bearer ${process.env.SOLK_API_KEY}`,
},
});
const data = await res.json();import os, requests
r = requests.get(
"https://ornek.solk.app/api/v1/customers/9/finance",
headers={"Authorization": f"Bearer {os.environ['SOLK_API_KEY']}"},
params={"status": "all", "limit": 5},
)
print(r.json())Response
{
"finance": {
"accounts": [
{
"code": "120.01.045",
"conn": "Logo ara katmanı",
"how": "tax",
"kind": "api",
"name": "Kumsal Plastik Ambalaj San. ve Tic. A.Ş."
}
],
"as_of": "2026-10-09T23:14",
"avg_terms_days": 50,
"balance": 218450.5,
"credit_limit": 500000.0,
"currency": "TRY",
"last_invoice": {
"currency": "TRY",
"date": "2026-09-30",
"due": "2026-11-29",
"id": 2,
"kind": "sales",
"lines": [],
"net": 132000.0,
"no": "SF2026000455",
"order_ref": "PO-7745",
"overdue": false,
"remaining": 158400.0,
"status": "open",
"status_label": "Açık",
"total": 158400.0
},
"open_amount": 217800.0,
"open_invoices": 2,
"overdue": 59400.0,
"overdue_invoices": 1,
"revenue_12m": 313800.0,
"revenue_currency": "EUR",
"risk_pct": 44
},
"invoices": [
{
"currency": "TRY",
"date": "2026-09-30",
"due": "2026-11-29",
"id": 2,
"kind": "sales",
"lines": [],
"net": 132000.0,
"no": "SF2026000455",
"order_ref": "PO-7745",
"overdue": false,
"remaining": 158400.0,
"status": "open",
"status_label": "Açık",
"total": 158400.0
},
{
"currency": "TRY",
"date": "2026-08-28",
"due": "2026-09-27",
"id": 1,
"kind": "sales",
"lines": [
{
"code": "HS30",
"name": "HS 30 Isıl Yapışma Laki",
"price": 110,
"qty": 450
}
],
"net": 49500.0,
"no": "SF2026000412",
"order_ref": "PO-7702",
"overdue": true,
"remaining": 59400.0,
"status": "open",
"status_label": "Vadesi geçti",
"total": 59400.0
}
],
"ok": true,
"total": 3
}Example responses were captured from a v54 installation running sample data; lists are shortened to two items.