← Back to work
Case file 00 · Workspace ERP · Finance module · Currently building

One wrong click could cost thousands

A Maker–Checker workflow for an ISP finance team. Now being built out as a public ERP for other businesses.

Product
Workspace ERP
Context
Internal ISP tool
Role
Lead Product Designer
Scope
Maker–Checker · GL controls · Audit trail
Status
Building for public ERP
Tuesday, 4:52 PM · Finance Department

Month-end closing was only a few hours away.

An accountant finished posting a supplier invoice worth ₦18.7 million. Everything looked correct. The transaction was saved.

Moments later, someone noticed the invoice had been posted to the wrong expense account. Another payment had been duplicated because the same invoice had already been entered earlier that morning. A third transaction contained an extra zero that no one spotted until reconciliation.

None of these mistakes were intentional. One person could create, approve, and post into the General Ledger with no second review.

Fixing it wasn't as simple as deleting a record. Journal reversals. Vendor balances off. Reports wrong. The finance team spent hours on mistakes that should never have reached the books.

The problem wasn't accounting knowledge. There were no financial controls. That's what I set out to fix.

Finance Invoice Posting · Maker–Checker Workflow
01

Understanding the risk

Every financial transaction in an ERP eventually hits the General Ledger. That's not a UI detail. Post once, and the error shows up everywhere.

These transaction types all share the same downstream risk:

Vendor Invoice Customer Invoice Expense Journal Entry Bank Payment Asset Purchase Payroll Posting

Once posted, they affect:

Trial Balance Profit & Loss Balance Sheet Cash Flow Vendor balances Customer balances

Errors don't stay local. They compound. A wrong GL account on a ₦18.7M invoice doesn't just look bad on one screen. It skews the reports leadership actually uses.

02

What I found in the field

I didn't run a survey and call it research. I shadowed people in the system during month-end, when the pressure is highest and controls matter most.

Patterns kept repeating:

03

The journey, before and after

Before · Instant posting
Receive Invoice
Enter Invoice
Select Vendor
Enter GL Account
Enter Tax
Save
Post to GL ✓
Mistake Discovered
Reverse Journal
Repost
Notify Finance
Reconcile Again
After · Maker–Checker
Receive Invoice
Enter Invoice
Draft Saved
System Validation
Maker Submits
Checker Reviews
Approve
GL Posting
Vendor Balance Updated
Audit Trail Created

Every red step in the before flow costs money. Reversals, reposts, reconciliation. All preventable if the error never reaches the GL.

04

The insight

Finance didn't need a faster posting screen. It needed to trust that only validated transactions reached the General Ledger.

That reframe changed the work. The problem wasn't form layout or button placement. It was building controls into the workflow: separate roles, drafts that don't touch reports, and a record of who approved what.

05

The solution: Maker–Checker workflow

Two roles. One gate before the GL. No shortcuts.

Maker creates System validates Draft saved Checker notified Checker reviews Approve Post to GL Audit log Locked

After posting, the record locks. Corrections need a formal reversal, not a quiet edit. That friction is intentional. It protects every downstream report.

Design decisions

Controls finance managers asked for

Makers cannot approve their own transactions, even when their role technically included post permission. Finance managers said segregation of duties mattered more than speed.

Drafts do not affect financial reports. Only approved transactions generate accounting entries. Trial balance, P&L, and vendor balances stay clean until a Checker confirms.

Supporting documents required before submission. Cut down incomplete postings during month-end when AP teams were moving fastest.

Approval history can't be edited. Every action logged: user, timestamp, comments, changes requested. Finance teams wanted trust more than flexibility.

Checker sees the draft and the source document side by side. The review has to hold up against the invoice, not just the entered data.
Production UI
Production UI · Checker review · Approve & post flow
06

Using AI to challenge my thinking

I didn't use AI to design the workflow or generate screens. I used it early to explore approval models and stress-test assumptions before meeting finance stakeholders.

I wanted to understand the trade-offs different financial systems make between speed, control, and auditability before picking a direction.

Prompt 1 · Exploring approval models

Before designing the workflow, I asked AI to compare how enterprise finance systems handle transaction approvals.

Prompt
You are a Principal Product Designer designing an ERP Finance module. Compare Maker–Checker workflows used in enterprise systems and banking platforms. For each model, explain the approval sequence, segregation of duties, audit requirements, advantages, disadvantages, and situations where the model works best.
What AI returned

AI summarized four common approaches:

  • Two-step Maker–Checker. Fast, familiar, common for day-to-day AP.
  • Three-step approval. Adds budget owners or department heads before Finance. Better governance, slower.
  • Amount-based escalation. Routine approvals for small amounts, extra sign-off for high-value postings.
  • Conditional multi-level approval. Very configurable, harder for users to follow and administer.
My decision

I started leaning toward flexible multi-level approval because it looked like it covered more scenarios.

Finance managers pushed back. Not because they hated flexibility. They needed predictability during month-end close. Everyone had to know who approves next.

We went with a two-step Maker–Checker workflow plus amount-based escalation for high-value transactions. Stronger controls without slowing everyday work.

Prompt 2 · Stress-testing the workflow

Once I had a draft workflow, I used AI to identify failure points before validating it with users.

Prompt
Review this Maker–Checker workflow as an ERP Finance Architect. Identify edge cases that could compromise financial controls. Consider duplicate invoices, incorrect GL accounts, rejected approvals, unavailable approvers, missing documents, posting-period issues, and audit requirements.
What AI returned

AI highlighted several scenarios I hadn't fully considered, including:

  • Makers approving their own transactions.
  • Duplicate invoices with different reference numbers.
  • Drafts being edited after approval.
  • Approvers being unavailable during month-end.
  • Missing supporting documents.
  • High-value invoices requiring additional oversight.
My decision

Not everything became a feature, but the exercise helped before user validation.

The final design added several safeguards:

  • Drafts stay off the General Ledger until approved.
  • Makers can't approve their own transactions, even with multiple roles.
  • Supporting documents required before submission.
  • High-value transactions route to a senior approver automatically.
  • Every approval, rejection, and change request gets logged.

AI didn't make these calls. Finance managers and treasury officers did, after walking me through what posting mistakes cost during reconciliation and month-end.

What AI couldn't decide

AI helped me explore options. It couldn't tell me which workflow fit this business.

It didn't know finance officers were skipping review because Instant Post had become the default. It couldn't say which mistakes happened most or how approvals actually worked under month-end pressure.

That came from shadowing users, reading reversal journals, and testing the workflow with stakeholders.

AI sped up exploration. The final calls came from the people who keep the books accurate.

07

Reflection

What I learned

I started out framing this as preventing user mistakes. Research showed the real job was protecting financial integrity.

People will make mistakes. Good financial systems plan for that and build recovery and approval into the workflow.

Maker–Checker isn't new. What mattered was drafts never touching the GL, Checkers not skippable for speed, and every approval leaving a record finance could trust during audit season.

If you're evaluating this work, don't look for a prettier invoice form. Look at where the system stops being fast and starts being safe.

Where this product is today

Workspace started as an internal ERP for an internet service provider: finance, operations, and reporting in one place. The Maker–Checker work in this case study shipped inside that environment. We're now building toward a public release so other ERP teams can use the same controls. The walkthrough here is production UI from that rollout.

↑ Back to work