Writing AI + Operations

Reducing bookkeeping typing without removing review

A weekly intake assistant that turns a pile of receipts and supplier invoices into a structured intake sheet your accountant opens on Wednesday. The workflow drafts; the accountant posts.

May 2026 8 min read

What we’re building

A weekly intake assistant that turns the pile of receipts and supplier invoices a small UAE business accumulates into a structured intake sheet your accountant opens on the day they post. The assistant extracts the fields a UAE tax invoice has to carry (the words ‘tax invoice’, supplier name, supplier TRN, date, description, subtotal, VAT amount, total, and recipient details over the AED 10,000 threshold, per the Federal Tax Authority’s published guides), checks each entry against a small ruleset, flags the ones that need chasing, and writes a draft entry in the shape your Zoho Books posting needs. The accountant reads the sheet, posts what needs posting, and the workflow stays out of the ledger.

The first win is intake and review, not posting, not closing the books, not making tax calls. The assistant compresses an hour of typing into ten minutes of reading and writing a few flag emails to suppliers who didn’t include their TRN.

Who this is for

Owners and office managers at small UAE businesses (5 to 50 people, give or take) running on Zoho Books with a part-time or fractional accountant who comes in weekly. The same shape works for QuickBooks and Xero with different field labels.

What you need before starting

A paid Claude Cowork account. A folder in your drive. A scanner or a phone-based scanning app (the camera roll is fine if your owner is the type who actually photographs receipts). A short reference file naming your standard chart of accounts categories and your common suppliers. A small ruleset.md file you and your accountant agree on (we’ll write one below). Patience for the first month. The workflow’s accuracy on your specific receipts improves as you correct it.

This piece doesn’t replace your accountant. It doesn’t replace tax advice. It doesn’t decide what’s an allowable VAT input. It compresses the typing.

The workflow map

A folder called Bookkeeping/. Inside it, weekly subfolders (week-2026-W18/). Inside each weekly folder: a receipts/ folder where the owner and office manager drop files during the week, a flagged/ folder the workflow writes to (for receipts that failed a check), and an intake.md file the workflow writes at the end of the week. At the top of Bookkeeping/, the ruleset.md, a chart-of-accounts.md, and a suppliers.md.

The flow: during the week, files drop into receipts/. The workflow runs end-of-week (a Cowork scheduled task on Sunday evening, say). It reads each new file, extracts the fields, applies the ruleset, copies any failed receipt into flagged/, and writes the intake sheet. Monday morning, the office manager reviews the flagged folder and chases any supplier who needs chasing. Wednesday morning, the accountant opens the intake sheet, posts what needs posting in Zoho, and writes back to the office manager about anything still unclear.

The workflow does not log into Zoho, file a return, or approve anything.

Claude Cowork setup

Connect Cowork to the folder. Write ruleset.md, chart-of-accounts.md, and suppliers.md. Run the first week manually before scheduling.

Prompt block 1: the ruleset

ruleset.md. The accountant should be in the room when this is written. The rules are theirs as much as yours.

A UAE tax invoice should carry:
- The words 'tax invoice'
- Supplier name
- Supplier TRN
- Date of supply (or invoice date if same)
- Description of goods or services
- Subtotal, VAT amount, total
- For invoices over AED 10,000 to a registered recipient: recipient
  name and TRN
(Source: Federal Tax Authority published guides. Verify at draft time
 for any change.)

Flag a receipt if any of:
- TRN missing on a supplier invoice over AED 1,000
- Date missing or older than 60 days at point of intake
- VAT amount present but does not equal 5% of subtotal (within rounding)
- Total does not equal subtotal plus VAT (within rounding)
- Two receipts in the same week from the same supplier with the same
  total (possible duplicate)
- Receipt is unreadable (low resolution, glare, partial)
- Receipt is in a language not English or Arabic

For each receipt, suggest a chart of accounts category from
chart-of-accounts.md. If multiple categories are plausible, list
the top two and pick one.

Prompt block 2: the weekly run instruction

Process this week's bookkeeping intake.

Read every file in Bookkeeping/week-{YYYY-WNN}/receipts/ that is not
already in the intake.md from this week.

For each file:

1. Extract: supplier name, supplier TRN, date, description, subtotal,
   VAT amount, total, currency, suggested category from
   chart-of-accounts.md.
2. Cross-reference against suppliers.md. If the supplier is known,
   pre-fill any fields the file does not show with the supplier's
   on-file values.
3. Apply ruleset.md. For any failure, copy the file to
   week-{WNN}/flagged/ and add a flag column entry naming the failed
   rule.
4. Check for possible duplicates against the rest of this week's
   files and the previous two weeks' intakes.
5. Add a row to the intake sheet at week-{WNN}/intake.md.

Do not log into Zoho Books. Do not contact any supplier. Do not
send any email. Stop and present the intake sheet for review.

Prompt block 3: the intake sheet shape

# Bookkeeping intake: week {WNN} ({date range})

| File | Supplier | TRN | Date | Subtotal | VAT | Total | Cat | Flag |
|---|---|---|---|---|---|---|---|---|
| receipts/inv001.pdf | TechVendor | 1009999990001XX | 2026-04-29 | 1,000.00 | 50.00 | 1,050.00 | software | (none) |
| receipts/inv002.pdf | NewSupplier | (missing) | 2026-04-30 | 2,400.00 | 120.00 | 2,520.00 | services | TRN missing on supplier invoice over AED 1,000 |
| receipts/inv003.jpg | Cafe Receipt | 1009999990002XX | 2026-04-30 | 95.24 | 4.76 | 100.00 | meals | (none) |
| receipts/inv004.pdf | TechVendor | 1009999990001XX | 2026-04-29 | 1,000.00 | 50.00 | 1,050.00 | software | possible duplicate of inv001 |

## Flagged this week
- inv002: TRN missing, chase NewSupplier
- inv004: possible duplicate of inv001, confirm with owner

## Notes for the accountant
- Three receipts from suppliers not previously seen. New rows added
  to suppliers.md (pending your confirmation).
- One receipt in Arabic (inv003). Extracted; please verify the
  TRN format.

## Review checklist
- [ ] Every TRN is correct (15 digits, starts with 100).
- [ ] Every flagged item has a planned chase or a planned override.
- [ ] Categories match how we track them in Zoho.
- [ ] Possible duplicates resolved.
- [ ] Nothing posted to Zoho yet.

Example input/output (excerpt)

Input: a folder with eleven files. Three PDFs from regular suppliers, four phone-camera images of paper receipts, two PDFs from new suppliers, one bank confirmation, one duplicate.

Output: an eleven-row intake sheet, two rows flagged (one TRN missing, one possible duplicate), three new entries in suppliers.md proposed for confirmation, and four files copied to flagged/ (the missing-TRN one, the duplicate, one camera image too blurry to read, and the bank confirmation, which is in flagged/ because it isn’t a tax invoice and the workflow doesn’t know what to do with it).

The office manager spends fifteen minutes Monday: emails NewSupplier asking for the corrected invoice with TRN, asks the owner to retake the blurry receipt, files the bank confirmation manually, deletes the duplicate from receipts/ and notes the deletion in intake.md. The accountant on Wednesday opens an updated intake sheet with nine clean rows, posts them in Zoho, and writes a one-line note back about the two suppliers still not resolved.

Human review point

Two of them, both named.

The office manager reviews flagged/ mid-week and chases. The chasing is the operator’s job, not the workflow’s, and that’s deliberate. A workflow that emails your suppliers in your name without you reading it will eventually email the wrong supplier the wrong thing.

The accountant posts to Zoho. The workflow does not. Posting to a ledger is an act of authority that a workflow shouldn’t be doing on its own, and the accountant is the named human who carries that authority. The reason isn’t only safety. The reason is that posting is a decision (which entity, which category, which period, what override of a rule), and the decision belongs to the person whose name is on the books.

What not to automate yet

Four things stay with people. The workflow doesn’t post to Zoho. The workflow doesn’t file a VAT return. The workflow doesn’t decide what’s an allowable VAT input; the ruleset flags missing fields, but the deductibility call is a tax judgment the accountant makes. The workflow doesn’t email suppliers, even when it’s right about a missing TRN, because the email it sends becomes evidence of how your business handles its records, and that evidence should come from a person.

A separate note: don’t feed the workflow your bank statements yet. Bank statements need a different shape, and treating them as receipts will produce noise. Build a separate workflow for bank reconciliation if you want one.

Where this breaks at scale

When the firm has two entities and two sets of books, the workflow needs to route receipts to the right ledger before it does anything else. A receipt for a desk that was bought for the holding company but expensed to the operating company is the kind of mistake that’s hard to find later.

As the UAE e-invoicing mandate phases in (under Ministerial Decisions 243 and 244 of 2025: businesses with revenue at or above AED 50 million must appoint an Accredited Service Provider by 31 July 2026 and go live by 1 January 2027; businesses below that threshold must appoint a service provider by 31 March 2027 and go live by 1 July 2027; verify with the Ministry of Finance at draft time), the structured intake stops being a help and becomes the primary surface. The workflow shifts from extraction to validation. Different rules, different flags, different posting path.

When the accountant changes, the ruleset she agreed on needs to be re-agreed by the new one. There’s no good place for that knowledge to live except in the file and in the new accountant’s head, and the file alone won’t transfer the unwritten judgment about which flags to override on which suppliers.

If the firm grows past 50 people, the intake volume passes what one person can review weekly. The intake gets split (by category, by supplier, by entity), and the splits need to be deterministic so nothing falls between them.

The operator lesson

The workflow drafts the data. A named human carries the authority to post. Posting is a decision; decisions belong to people.

[VISUAL NOTE] – Suggested visual: the intake sheet as an HTML render or screenshot, with three or four rows of redacted real data, including one flagged row. – Why it helps: the artifact is the lesson. Readers will copy the columns and the flag column especially. – Could be generated with Nano Banana Pro: no. Render from real data, redact, screenshot. Generated ‘spreadsheet-like’ images always look slightly off and the credibility cost is real. – Avoid: stylized ‘finance’ imagery, stock ‘accountant at desk’ photography, glowing dollar signs, anything that signals ‘fintech’.

Subscribe

A roughly monthly dispatch from karlbaz.com. Links to the month's memos, plus a short note on what matters now.

Roughly monthly · No promo · I do not sell or share your address · Unsubscribe anytime