Post journals and read financial reports

Create balanced manual journals and retrieve profit and loss, balance sheet, cash flow, and trial balance reports.

Post journals and read financial reports

Manual journals let an accounting integration post entries that are not better represented by an invoice, bill, expense, payment, or bank transaction. Reports show the combined effect of every posted accounting record.

Prefer the most specific document

Use a manual journal for adjustments, accruals, opening balances, and other accountant-directed entries. Prefer:

  • Invoices and credit notes for customer revenue.
  • Bills and debit notes for supplier payables.
  • Expenses for immediately paid spend.
  • Payments for settling invoices, bills, and other supported documents.
  • Bank ledger transactions for bank-account movements.

Specific documents preserve operational context that a generic journal cannot.

Create a balanced journal

Resolve the account IDs and the organization base currency first. Each journal must balance in base currency.

curl --request POST "https://api.wafeq.com/v1/manual-journals/" \
  --header "Authorization: Api-Key <API_KEY>" \
  --header "Content-Type: application/json" \
  --header "X-Wafeq-Idempotency-Key: journal-<SOURCE_ID>" \
  --data '{
    "date": "2026-08-31",
    "reference": "ACCRUAL-2026-08",
    "external_id": "accrual_2026_08",
    "notes": "Month-end service accrual",
    "line_items": [
      {
        "account": "<EXPENSE_ACCOUNT_ID>",
        "amount": 1000,
        "amount_to_bcy": 1000,
        "currency": "AED",
        "description": "Recognize August expense",
        "cost_center": "<COST_CENTER_ID>"
      },
      {
        "account": "<ACCRUAL_ACCOUNT_ID>",
        "amount": -1000,
        "amount_to_bcy": -1000,
        "currency": "AED",
        "description": "Accrued liability"
      }
    ]
  }'

Confirm debit/credit sign conventions, currency conversion fields, and tax treatment against Create manual journal before posting production data.

Read financial reports

Profit and loss

curl "https://api.wafeq.com/v1/reports/profit-and-loss/?date_after=2026-01-01&date_before=2026-12-31&currency=AED" \
  --header "Authorization: Api-Key <API_KEY>"

See Profit and Loss.

Balance sheet

curl "https://api.wafeq.com/v1/reports/balance-sheet/?date=2026-12-31&period_count=1&currency=AED" \
  --header "Authorization: Api-Key <API_KEY>"

See Balance Sheet.

Also available:

Slice reports by dimensions

Where supported, filter reports by branch, contact, project, or cost center. Pass the exact Wafeq IDs and preserve a snapshot of the query parameters with every exported report.

Reporting consistency

  • Advance ingestion checkpoints only after all document pages have been processed.
  • Expect posted documents and payments to change reports.
  • Use the same date basis and currency every time you compare periods.
  • Treat report output as derived accounting data; do not overwrite its totals from your source system.

For dimension setup, see Track projects, cost centers, and custom data.


Did this page help you?