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¤cy=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¤cy=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.
Updated about 1 hour ago