Finance & Accounting

Handle bills, payments, journal entries, and financial reporting. Track accounts payable, record payments, and maintain your general ledger.


GET/v1/finance/bills

List bills

Retrieve a paginated list of all bills (accounts payable).

Optional parameters

  • Name
    status
    Type
    string
    Description

    Filter by status: draft, pending, paid, overdue.

  • Name
    vendor_id
    Type
    string
    Description

    Filter by vendor/supplier ID.

  • Name
    limit
    Type
    integer
    Description

    Maximum number of records to return.

Request

GET
/v1/finance/bills
curl https://api.umbraerp.com/v1/finance/bills \
  -H "Authorization: Bearer <your_access_token>"

Response

{
  "result": "success",
  "bills": [
    {
      "id": "bill_001",
      "vendor_id": "vendor_abc",
      "amount": 50000,
      "currency": "USD",
      "status": "pending",
      "due_date": "2026-03-15",
      "created_at": "2026-02-15T10:30:00Z"
    }
  ]
}

POST/v1/finance/bills

Create bill

Create a new bill (accounts payable entry).

Required attributes

  • Name
    vendor_id
    Type
    string
    Description

    The vendor/supplier this bill is from.

  • Name
    items
    Type
    array
    Description

    Array of line items, each with description, quantity, and unit_price.

  • Name
    currency
    Type
    string
    Description

    Three-letter ISO currency code.

  • Name
    due_date
    Type
    string
    Description

    Payment due date (YYYY-MM-DD).

Request

POST
/v1/finance/bills
curl -X POST https://api.umbraerp.com/v1/finance/bills \
  -H "Authorization: Bearer <your_access_token>" \
  -H "Content-Type: application/json" \
  -d '{
    "vendor_id": "vendor_abc",
    "items": [
      {
        "description": "Office Supplies",
        "quantity": 1,
        "unit_price": 50000
      }
    ],
    "currency": "USD",
    "due_date": "2026-03-15"
  }'

Response

{
  "result": "success",
  "bill_id": "bill_001",
  "message": "Bill created successfully."
}

GET/v1/finance/bills/:id

Get bill

Retrieve details of a specific bill.

Request

GET
/v1/finance/bills/bill_001
curl https://api.umbraerp.com/v1/finance/bills/bill_001 \
  -H "Authorization: Bearer <your_access_token>"

POST/v1/finance/bills/:id/pay

Record payment

Record a payment against a bill.

Required attributes

  • Name
    amount
    Type
    integer
    Description

    Payment amount in the smallest currency unit.

  • Name
    payment_method
    Type
    string
    Description

    Payment method: bank_transfer, cash, check, mobile_money.

  • Name
    payment_date
    Type
    string
    Description

    Date of payment (YYYY-MM-DD).

Request

POST
/v1/finance/bills/bill_001/pay
curl -X POST https://api.umbraerp.com/v1/finance/bills/bill_001/pay \
  -H "Authorization: Bearer <your_access_token>" \
  -H "Content-Type: application/json" \
  -d '{
    "amount": 50000,
    "payment_method": "bank_transfer",
    "payment_date": "2026-03-10"
  }'

Response

{
  "result": "success",
  "message": "Payment recorded successfully.",
  "bill_status": "paid"
}

GET/v1/finance/journal

List journal entries

Retrieve journal entries for the general ledger.

Optional parameters

  • Name
    start_date
    Type
    string
    Description

    Filter by start date (YYYY-MM-DD).

  • Name
    end_date
    Type
    string
    Description

    Filter by end date (YYYY-MM-DD).

  • Name
    account
    Type
    string
    Description

    Filter by account code.

Request

GET
/v1/finance/journal
curl https://api.umbraerp.com/v1/finance/journal \
  -H "Authorization: Bearer <your_access_token>"

Response

{
  "result": "success",
  "entries": [
    {
      "id": "je_001",
      "date": "2026-03-10",
      "description": "Payment for Office Supplies",
      "debits": [{"account": "5000", "amount": 50000}],
      "credits": [{"account": "1000", "amount": 50000}],
      "created_at": "2026-03-10T14:00:00Z"
    }
  ]
}

Was this page helpful?