문서 목차
Finance & Accounting
Accounts receivable and payable, payments, the general ledger and the closing cycle — invoices, journal entries, the chart of accounts, cost centers, fiscal periods, tax codes and exchange rates. The system of record for money owed and money owing. Feed an e-invoice provider, a bank reconciliation tool or an external BI warehouse from these endpoints.
/v1/fin/invoicesScope: finance:readList invoices
Returns a cursor-paginated list of invoices. Filter by lifecycle status, partner or direction (receivable vs payable).
| limitoptional | integerPage size, 1–200 (default 50). |
| cursoroptional | stringPagination cursor from a previous response. |
| statusoptional | stringFilter by status: open, paid, overdue or void. |
| partner_idoptional | stringFilter by partner (customer or supplier). |
| directionoptional | stringreceivable (sales) or payable (purchase). |
curl "https://api.apusplatform.com/v1/fin/invoices" \
-H "Authorization: Bearer $APUS_TOKEN"{
"data": [
{
"id": "inv_1a2b",
"number": "INV-2026-000142",
"direction": "receivable",
"partner_id": "prt_1a2b",
"status": "open",
"issue_date": "2026-07-20",
"due_date": "2026-08-19",
"total": {
"amount": 13750000,
"currency": "VND"
},
"balance": {
"amount": 13750000,
"currency": "VND"
},
"updated_at": "2026-07-20T04:20:11Z"
}
],
"has_more": true,
"next_cursor": "crsr_9a10"
}/v1/fin/invoicesScope: finance:writeCreate an invoice
Creates a draft invoice. Totals and tax are computed from the lines; the number is assigned on posting.
| partner_idrequired | stringCustomer (receivable) or supplier (payable). |
| directionrequired | stringreceivable or payable. |
| linesrequired | stringLine items: { description, quantity, unit_price, tax_code }. |
| due_dateoptional | stringPayment due date (YYYY-MM-DD). |
curl -X POST "https://api.apusplatform.com/v1/fin/invoices" \
-H "Authorization: Bearer $APUS_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"partner_id": "prt_1a2b",
"direction": "receivable",
"due_date": "2026-08-19",
"lines": [
{
"description": "Steel bracket 8mm",
"quantity": 100,
"unit_price": {
"amount": 125000,
"currency": "VND"
},
"tax_code": "VAT10"
}
]
}'{
"id": "inv_1a2b",
"number": "INV-2026-000142",
"status": "open",
"total": {
"amount": 13750000,
"currency": "VND"
},
"created_at": "2026-07-20T02:10:00Z"
}/v1/fin/invoices/{id}Scope: finance:readRetrieve an invoice
Returns a single invoice with its lines and running balance.
| idrequired | stringInvoice id. |
curl "https://api.apusplatform.com/v1/fin/invoices/inv_1a2b" \
-H "Authorization: Bearer $APUS_TOKEN"{
"id": "inv_1a2b",
"number": "INV-2026-000142",
"direction": "receivable",
"partner_id": "prt_1a2b",
"status": "open",
"issue_date": "2026-07-20",
"due_date": "2026-08-19",
"lines": [
{
"description": "Steel bracket 8mm",
"quantity": 100,
"unit_price": {
"amount": 125000,
"currency": "VND"
},
"tax_code": "VAT10",
"subtotal": {
"amount": 12500000,
"currency": "VND"
}
}
],
"subtotal": {
"amount": 12500000,
"currency": "VND"
},
"tax": {
"amount": 1250000,
"currency": "VND"
},
"total": {
"amount": 13750000,
"currency": "VND"
},
"balance": {
"amount": 13750000,
"currency": "VND"
},
"updated_at": "2026-07-20T04:20:11Z"
}/v1/fin/invoices/{id}Scope: finance:writeUpdate an invoice
Updates mutable fields of an invoice while it is still open. Only supplied fields change; a paid or void invoice is read-only.
| idrequired | stringInvoice id. |
| due_dateoptional | stringPayment due date (YYYY-MM-DD). |
| linesoptional | stringReplacement line items: { description, quantity, unit_price, tax_code }. |
| memooptional | stringInternal note shown on the document. |
curl -X PATCH "https://api.apusplatform.com/v1/fin/invoices/inv_1a2b" \
-H "Authorization: Bearer $APUS_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"due_date": "2026-09-03"
}'{
"id": "inv_1a2b",
"number": "INV-2026-000142",
"status": "open",
"updated_at": "2026-07-20T02:12:00Z"
}/v1/fin/invoices/{id}/voidScope: finance:writeVoid an invoice
Voids an invoice, reversing its ledger impact. Only an invoice with no settled payments can be voided.
| idrequired | stringInvoice id. |
| reasonoptional | stringReason recorded in the audit trail. |
curl -X POST "https://api.apusplatform.com/v1/fin/invoices/inv_1a2b/void" \
-H "Authorization: Bearer $APUS_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"reason": "Issued to the wrong partner"
}'{
"id": "inv_1a2b",
"number": "INV-2026-000142",
"status": "void",
"voided_at": "2026-07-20T02:18:00Z"
}/v1/fin/paymentsScope: finance:readList payments
Returns a cursor-paginated list of payments and receipts. Filter by the invoice they settle or by method.
| limitoptional | integerPage size, 1–200 (default 50). |
| cursoroptional | stringPagination cursor from a previous response. |
| invoice_idoptional | stringReturn only payments applied to this invoice. |
| methodoptional | stringFilter by method: bank_transfer, cash or card. |
curl "https://api.apusplatform.com/v1/fin/payments" \
-H "Authorization: Bearer $APUS_TOKEN"{
"data": [
{
"id": "pay_6h7i",
"invoice_id": "inv_1a2b",
"amount": {
"amount": 13750000,
"currency": "VND"
},
"method": "bank_transfer",
"paid_at": "2026-07-22T03:00:00Z",
"reference": "FT26073300142"
}
],
"has_more": false,
"next_cursor": null
}/v1/fin/paymentsScope: finance:writeRecord a payment
Records a payment or receipt against an invoice and applies it to the outstanding balance. Marks the invoice paid once fully settled.
| invoice_idrequired | stringInvoice being settled. |
| amountrequired | object{ amount (minor units), currency }. |
| methodrequired | stringbank_transfer, cash or card. |
| paid_atoptional | stringRFC 3339 timestamp of settlement (defaults to now). |
curl -X POST "https://api.apusplatform.com/v1/fin/payments" \
-H "Authorization: Bearer $APUS_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"invoice_id": "inv_1a2b",
"amount": {
"amount": 13750000,
"currency": "VND"
},
"method": "bank_transfer",
"paid_at": "2026-07-22T03:00:00Z"
}'{
"id": "pay_6h7i",
"invoice_id": "inv_1a2b",
"invoice_status": "paid",
"created_at": "2026-07-22T03:00:05Z"
}/v1/fin/journal-entriesScope: finance:readList journal entries
Returns a cursor-paginated list of general-ledger journal entries. Filter by the account they touch or by fiscal period.
| limitoptional | integerPage size, 1–200 (default 50). |
| cursoroptional | stringPagination cursor from a previous response. |
| accountoptional | stringReturn entries that post to this account code. |
| periodoptional | stringFiscal period, e.g. 2026-07. |
curl "https://api.apusplatform.com/v1/fin/journal-entries" \
-H "Authorization: Bearer $APUS_TOKEN"{
"data": [
{
"id": "je_3k4l",
"date": "2026-07-20",
"memo": "Sales invoice INV-2026-000142",
"source": "inv_1a2b",
"period": "2026-07",
"posted": true
}
],
"has_more": true,
"next_cursor": "crsr_7d8e"
}/v1/fin/journal-entriesScope: finance:writeCreate a journal entry
Posts a manual journal entry. Total debits must equal total credits and the target period must be open.
| daterequired | stringAccounting date (YYYY-MM-DD). |
| linesrequired | stringBalanced lines: { account, debit, credit }. |
| memooptional | stringDescription shown on the entry. |
curl -X POST "https://api.apusplatform.com/v1/fin/journal-entries" \
-H "Authorization: Bearer $APUS_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"date": "2026-07-20",
"memo": "Cash sale receipt",
"lines": [
{
"account": "111",
"debit": {
"amount": 13750000,
"currency": "VND"
},
"credit": {
"amount": 0,
"currency": "VND"
}
},
{
"account": "511",
"debit": {
"amount": 0,
"currency": "VND"
},
"credit": {
"amount": 12500000,
"currency": "VND"
}
},
{
"account": "3331",
"debit": {
"amount": 0,
"currency": "VND"
},
"credit": {
"amount": 1250000,
"currency": "VND"
}
}
]
}'{
"id": "je_3k4l",
"date": "2026-07-20",
"period": "2026-07",
"posted": true,
"created_at": "2026-07-20T02:20:00Z"
}/v1/fin/journal-entries/{id}Scope: finance:readRetrieve a journal entry
Returns a single journal entry with its debit and credit lines.
| idrequired | stringJournal entry id. |
curl "https://api.apusplatform.com/v1/fin/journal-entries/je_3k4l" \
-H "Authorization: Bearer $APUS_TOKEN"{
"id": "je_3k4l",
"date": "2026-07-20",
"memo": "Sales invoice INV-2026-000142",
"source": "inv_1a2b",
"period": "2026-07",
"posted": true,
"lines": [
{
"account": "131",
"debit": {
"amount": 13750000,
"currency": "VND"
},
"credit": {
"amount": 0,
"currency": "VND"
}
},
{
"account": "511",
"debit": {
"amount": 0,
"currency": "VND"
},
"credit": {
"amount": 12500000,
"currency": "VND"
}
},
{
"account": "3331",
"debit": {
"amount": 0,
"currency": "VND"
},
"credit": {
"amount": 1250000,
"currency": "VND"
}
}
]
}/v1/fin/accountsScope: finance:readList accounts
Returns the chart of accounts. Filter by account type.
| typeoptional | stringFilter by type: asset, liability, equity, revenue or expense. |
curl "https://api.apusplatform.com/v1/fin/accounts" \
-H "Authorization: Bearer $APUS_TOKEN"{
"data": [
{
"code": "111",
"name": "Cash on hand",
"type": "asset",
"parent": null
},
{
"code": "112",
"name": "Cash in banks",
"type": "asset",
"parent": null
},
{
"code": "131",
"name": "Trade receivables",
"type": "asset",
"parent": null
}
]
}/v1/fin/cost-centersScope: finance:readList cost centers
Returns the cost centers used to tag expenses and revenue for management reporting.
No parameters.
curl "https://api.apusplatform.com/v1/fin/cost-centers" \
-H "Authorization: Bearer $APUS_TOKEN"{
"data": [
{
"id": "cc_prod",
"code": "PROD",
"name": "Production",
"active": true
},
{
"id": "cc_sales",
"code": "SALES",
"name": "Sales & Marketing",
"active": true
}
]
}/v1/fin/fiscal-periodsScope: finance:readList fiscal periods
Returns the accounting calendar with each period's open or closed status.
No parameters.
curl "https://api.apusplatform.com/v1/fin/fiscal-periods" \
-H "Authorization: Bearer $APUS_TOKEN"{
"data": [
{
"id": "fp_2026_06",
"period": "2026-06",
"status": "closed",
"closed_at": "2026-07-05T09:00:00Z"
},
{
"id": "fp_2026_07",
"period": "2026-07",
"status": "open",
"closed_at": null
}
]
}/v1/fin/fiscal-periods/{id}/closeScope: finance:writeClose a fiscal period
Closes a fiscal period so no further entries can post to it. Fails if earlier periods are still open or unbalanced entries remain.
| idrequired | stringFiscal period id. |
curl -X POST "https://api.apusplatform.com/v1/fin/fiscal-periods/fp_2026_07/close" \
-H "Authorization: Bearer $APUS_TOKEN"{
"id": "fp_2026_07",
"period": "2026-07",
"status": "closed",
"closed_at": "2026-08-05T09:00:00Z"
}/v1/fin/tax-codesScope: finance:readList tax codes
Returns the configured VAT and withholding tax codes with their rates and posting accounts.
No parameters.
curl "https://api.apusplatform.com/v1/fin/tax-codes" \
-H "Authorization: Bearer $APUS_TOKEN"{
"data": [
{
"code": "VAT10",
"name": "VAT 10%",
"rate": 0.1,
"account": "3331",
"active": true
},
{
"code": "VAT8",
"name": "VAT 8%",
"rate": 0.08,
"account": "3331",
"active": true
},
{
"code": "VAT0",
"name": "VAT 0%",
"rate": 0,
"account": "3331",
"active": true
}
]
}/v1/fin/exchange-ratesScope: finance:readList exchange rates
Returns exchange rates against the base currency for a given date, used to translate foreign-currency documents.
| baseoptional | stringBase currency (default VND). |
| dateoptional | stringRate date (YYYY-MM-DD); defaults to today. |
curl "https://api.apusplatform.com/v1/fin/exchange-rates" \
-H "Authorization: Bearer $APUS_TOKEN"{
"base": "VND",
"date": "2026-07-20",
"rates": [
{
"currency": "USD",
"rate": 25450
},
{
"currency": "EUR",
"rate": 27680
},
{
"currency": "JPY",
"rate": 162
}
]
}연동을 시작할 준비가 되셨나요?
Account Console에서 API 클라이언트를 만들어 인증 정보를 발급받거나, 통합 엔지니어와 사용 사례를 상담하세요.