Barmaan Trading Company

Barmaan software department

Accounting & ERP we built — and run ourselves every day

A four-language chart of accounts, an append-only multicurrency ledger, an expense approval workflow and AI invoice reading — the same system we close our own books with every day. We build this for your company too.

The two demos below (ledger/trial-balance and approval workflow) run on entirely made-up data. The third one is different: you upload your own real file and our real internal AI assistant reads it.

Problem

Before we built this system

A ledger scattered across currencies

Sales in dollars, rent in dinar, advertising in toman — without one unified ledger, closing the books gets slower and more error-prone every month.

Expenses with no approval trail

How many people have to sign off before an employee's expense claim reaches the accountant? Without a defined workflow, accountability disappears too.

Manually typing invoices

Every paper invoice means minutes of line-by-line typing and the risk of a mistyped number — across hundreds of invoices a month, that time adds up.

Solution

What we built

A multicurrency ledger, unified code

Every document keeps its original amount; the trial balance is computed live against the Iraqi Unified Accounting System code, not just a single final number.

A defined approval workflow

Submit → manager approval → accountant finalization → payment; at every moment it's clear who's responsible and until when the employee can still edit it.

AI invoice reading

Upload an invoice or receipt; line items, amount and currency are extracted automatically — the same path our own internal expense form uses.

Live demo

Try it yourself

All three demos below run on this system's real code, not a static screenshot.

Real demo — your own file

Upload an invoice and read it with AI

Drop your own invoice or receipt file, or try a sample.

Capped at 3 uploads per hour per visitor, 20 MB max; the file is deleted immediately after reading and is never connected to Barmaan's real accounting ledger.

Sample

Ledger & unified trial balance

Six made-up documents across three currencies; the real unified trial-balance function runs right here on whatever you pick.

Sample

Expense approval workflow

Switch roles and move a sample expense claim through the real approval workflow.

What always stays internal

Barmaan's real accounting ledger — actual customer/supplier names, real amounts, balance-sheet reports — is never published here or on any other public page. Every number you see here is either entirely made up, or a file you just uploaded yourself and that gets deleted immediately.

Modules

Under the hood — 26 admin sub-routes

What our own accounting team opens every day; the evidence column points straight at the code path.

ModuleEvidenceAccess

Four-language chart of accounts

Group/general/detail levels with Persian/English/Arabic/Kurdish titles and the Iraqi unified code.

src/lib/accounting/coa.ts, coa-i18n.tsTry it above

Documents & ledger

Append-only documents; no record is edited after posting, only a fresh correcting document.

src/models/Accounting.ts (AccTransaction), admin/accounting/docs, /vouchersTry it above

Multicurrency

Dollar, Iraqi dinar, toman and more; the original entered amount is always kept, not just a dollar equivalent.

accountingSample.ts (fixed fixture rates) + buildUnifiedTrialBalanceTry it above

Sales documents

Invoice/proforma totals computed from the same engine, no manual rounding.

src/lib/accounting/sales/docTotals.ts (saleTotals, docTotals — pure)Internal only

Petty cash

Petty cash balance tracked separately per branch/holder.

src/lib/accounting/petty/compute.ts (pettyBalances), admin/accounting/pettyInternal only

Expense approval workflow

Submit → approve → finalize → pay, with an automatic edit lock after every stage.

src/lib/accounting/expenseWorkflow.ts (wfEntry, selfEditable)Try it above

Treasury & cheques

Incoming/outgoing cheques with cleared/bounced status.

src/models/Accounting.ts (AccCheque), admin/accounting/treasury, /chequesInternal only

Payroll & attendance

Payroll calculation and staff attendance tracking.

src/lib/accounting/hr/{payroll,attendance}.tsInternal only

Inventory & shipments

Stock and shipments synced with the storefront — covered in depth on the separate store-platform page.

src/lib/accounting/shopSync.ts, admin/accounting/inventory, /shipmentsInternal only

AI invoice reading

The same assistant you tried above is used inside our own internal expense form.

src/lib/ai/invoice.ts (internal form) + src/lib/ai/invoiceDemo.ts (this demo)Try it above

Architecture

Why we built it this way

Three decisions that directly affect correctness and trust.

Append-only ledger

No document is ever deleted or overwritten; a correction is a fresh correcting document, so the full history stays traceable.

Original amount, not just dollars

Every document keeps the amount as entered, in its own currency; conversion to dollars is for reporting only, never a replacement for the data.

Chart of accounts, version 3

Group/general/detail levels plus the Iraqi unified code — the same standard our own accountant works with every day.

We build this for you too

This same system, for your business

Chart of accounts, approval workflow and the AI connection — we implement any of them, separately or together, for your company.

  • 26 admin modules, from chart of accounts to payroll
  • Chart of accounts and UI in four languages
  • Append-only ledger with a full history of every correction