Skip to content
teamsleek.ai

Module · Finance and accounting

Finance and accounting software: the process, flow by flow

Finance at Harbourline Supplies runs on records that other modules create. Signed delivery orders become customer invoices, goods receipts are what supplier invoices are checked against, and bank statement lines close both sides. The six flows below cover invoicing customers, matching supplier invoices, paying suppliers, collecting what is owed, reconciling the bank, and closing the month with the GST return.

Where it usually breaks: invoices typed from the sales order overbill part deliveries, supplier invoices are approved against the PO without checking what arrived, reminders go out on invoices that were paid but not yet matched, and at month end the receivables list, the payables list and the GST figures each disagree with the ledger by amounts nobody can trace. Each step below states the rule that applies and what happens when it fails.

Process

The flows, step by step

Each step names who does it: a person, an agent, or the system applying a fixed rule. Agents draft and wait for approval. Payments, deletions and messages to customers or suppliers always stop at a person.

Agents in these flows: AP invoice agent and collections agent. Finance and accounting is one part of the AI ERP.

End to end

  1. System

    Supplier invoice arrives

    INV-77120 by email

  2. Agent prepares

    Three-way match

    PO-0418, GRN-0932, invoice

  3. Agent prepares

    Bill drafted, difference flagged

    S$45.78 to credit

  4. Person decides

    Bill approved

    Finance manager

  5. Person decides

    Payment run approved

    Director

  6. System

    Posted and logged

    Who drafted, who approved

Sample data. Harbourline Supplies Pte Ltd is not a real company.

Flow 01

Sales invoicing, credit notes and GST

Customer invoices are raised from what was delivered and signed for, so the invoice agrees with the customer's own goods receipt and their AP team can pay it without a query. When invoices are typed from the sales order, part deliveries get billed in full, the customer short-pays, and finance spends the next month issuing credit notes to undo it.

Starts when
A delivery order is marked delivered, with the customer's signature or photo proof attached.
Ends with
Posted customer invoices and credit notes with GST, the sales order showing what is invoiced and what is still to deliver, and an updated receivables balance for credit checks.
  1. 1.System: System

    Drafts an invoice from the delivered quantities on the signed delivery order, at the prices on the sales order.

    • Quantity per line is the quantity delivered on this DO line, less anything already invoiced against it.
    • Price comes from the sales order line, which carries the price approved on the quote; a price list change made after the order was confirmed does not reach it.
    • The order's delivery charge goes on the first invoice for the order, once.
    • Payment terms come from the customer record, and the due date counts from the invoice date.
  2. 2.System: System

    Applies a GST code to each line from the customer and the item.

    • Lines are standard-rated at 9% unless the order is marked for export and the export document is attached.
    • Zero-rated lines show GST at 0% on the invoice.
    • GST is worked out on the total of the standard-rated lines and rounded to the cent, so the GST shown is 9% of the taxable total on that invoice.
  3. 3.System: System

    Checks that the invoice carries the tax invoice details before it can be issued.

    • Required: the words Tax Invoice, the invoice number and date, Harbourline's name, address and GST registration number, the customer's name and address, a description of each line, the GST rate, the total before GST, the GST amount and the total with GST.
    • A missing customer address blocks the invoice and goes back to the sales admin to fix on the customer record.
    • The invoice number is assigned at issue, so a cancelled draft leaves no gap in the sequence.
  4. 4.Person: Finance executive

    Reviews the day's draft invoices and issues them as one batch.

    • Exceptions are listed first: a price edited by hand, a line with no sales order behind it, or a delivered DO more than 3 days old with no invoice.
    • IRAS expects a tax invoice to a GST-registered customer within 30 days of the time of supply, which for most sales is the earlier of the invoice being issued and payment being received. The 3-day flag on delivered orders is Harbourline's own tighter rule.
  5. 5.System: System

    Posts each issued invoice to receivables, sales and output GST, and emails it to the customer with the signed DO attached.

    • The receivables balance used for credit checks updates at posting, before the next order is confirmed.
  6. 6.Person: Storekeeper

    Books returned goods on a return note, recording the quantity and condition of each item.

    • Restockable items go back to stock; damaged items go to a write-off under the inventory approval rules.
  7. 7.System: System

    Drafts a credit note from the return note, or from a price correction the sales manager has confirmed, referencing the original invoice.

    • The credited quantity cannot exceed the quantity on the original invoice line, less earlier credits.
    • The credit uses the original invoice's price and GST rate.
    • It shows the number and date of the original tax invoice, the quantity and amount credited, the GST credited and the total credited.
  8. 8.Person: Finance manager

    Approves the credit note before it is issued and posted.

Exceptions

Only part of the order is delivered
Only the delivered lines are invoiced. The sales order stays open for the balance, and the next signed DO produces the next invoice. The delivery charge is not repeated unless the order says each delivery is charged.
The customer says the delivery was short
The invoice stands on the signed DO while the warehouse checks the dispatch record, and the credit controller marks it disputed so it leaves the reminders. If the shortage is confirmed, a credit note is drafted for the missing quantity; the invoice itself is not edited.
A price on a posted invoice was wrong
Too high: a credit note for the price difference times the quantity, after the sales manager confirms the agreed price. Too low: a supplementary invoice for the difference, with the same confirmation.
The customer pays a deposit before delivery
A deposit invoice is raised from the order and deducted on the delivery invoices. How GST on deposits is handled is agreed with Harbourline's accountant during scoping.
The order is for export
Lines are zero-rated only when the order is marked for export and the export document is attached. Without the document, the invoice stays in draft with the reason shown to the finance executive.

Worked example

Part delivery and a return for Corallis Fit-Out

  • SO-1206, from quote Q-2611: 40 soft-close hinges at S$6.80, 60 pairs of 450 mm drawer runners at S$11.50, delivery S$45.00.
  • DO-1412, signed 12 Nov: 20 hinges and 60 pairs of runners. The other 20 hinges wait on PO-0421.
  • INV-3618: 20 × S$6.80 = S$136.00, 60 × S$11.50 = S$690.00, delivery S$45.00, subtotal S$871.00.
  • GST 9% on S$871.00 = S$78.39, total S$949.39.
  • INV-3652 for the last 20 hinges: S$136.00 + GST S$12.24 = S$148.24.
  • The two invoices add up to S$1,097.63, the total on the quote.
  • Credit note CN-0207 for 4 pairs of runners returned damaged: S$46.00 + GST S$4.14 = S$50.14, quoting INV-3618 and its date.

Sample data. Harbourline Supplies Pte Ltd is not a real company.

Flow 02

Supplier invoices and three-way matching

A supplier invoice is approved only for what was ordered and what arrived, at the price agreed. Approving against the PO alone pays for short deliveries, and checking by hand on a busy week lets price creep and duplicate invoices through without anyone deciding to accept them.

Starts when
A supplier invoice arrives in the accounts inbox as a PDF or email, or someone keys in or uploads one.
Ends with
A posted supplier bill with GST and a due date, or a held bill with each difference stated in S$. PO lines show the quantity billed, and credit note requests are open where needed.
  1. 1.Agent: AP invoice agent

    Reads the invoice and extracts the supplier, invoice number and date, PO reference, lines, GST and total.

    • The supplier is identified by GST registration number first, then by the sending address; one that matches neither goes to a person.
    • Lines plus GST must add up to the invoice total; if they do not, the draft is flagged as a possible read error for a person to check against the PDF.
  2. 2.Agent: AP invoice agent

    Checks the invoice against earlier bills from the same supplier for a duplicate, before any matching.

    • Same supplier and same invoice number, after removing spaces, dashes and leading zeros.
    • Same supplier, same total and an invoice date within 7 days of an earlier bill.
    • Drafts, held bills and rejected bills are searched as well as posted ones.
    • Any hit holds the invoice, with the earlier bill shown beside it.
  3. 3.Agent: AP invoice agent

    Matches each invoice line to a PO line and to the goods received on that line that are not yet billed.

    • The PO must be open and raised to the same supplier.
    • Billable quantity is the quantity on goods receipts for the line, less the quantity already billed.
    • The invoiced price is compared with the PO line price after any discount on the PO.
  4. 4.Agent: AP invoice agent

    Applies the tolerances and sets a match result for each line.

    • Quantity: no tolerance on counted items, so any quantity above the billable quantity is a difference.
    • Price: differences across the whole invoice up to S$20.00 before GST count as a match; above S$20.00 the bill is held.
    • A price below the PO is taken at the invoice price and noted on the bill.
  5. 5.Agent: AP invoice agent

    Checks the GST and the tax invoice details.

    • GST is accepted only if the GST registration number on the invoice agrees with the supplier record.
    • GST on the standard-rated lines must equal 9% of those lines, within S$0.05 for rounding.
    • An invoice without the tax invoice details is held so finance can ask the supplier for a proper tax invoice before input tax is claimed.
  6. 6.Agent: AP invoice agent

    Codes the bill and sets the due date.

    • Stock lines go to the goods-received-not-invoiced account that the goods receipt credited; non-stock lines go to the account and cost centre on the PO line.
    • The due date is the invoice date plus the supplier's payment terms.
    • An account outside the agent's allowed list sends the bill to a person for coding.
  7. 7.Person: Finance executive or finance manager

    Approves or rejects the bill with the invoice, PO and goods receipt side by side.

    • Matched bills up to S$10,000.00 including GST: finance executive. Above S$10,000.00: finance manager.
    • Any bill with a price or quantity difference: finance manager, whatever the amount.
    • The agent cannot approve its own exceptions, and posting a bill always waits for a person.
  8. 8.System: System

    Posts the approved bill to payables and input GST, and logs who drafted it, who approved it and what changed.

    • Price differences within tolerance post to a purchase price variance account, so accepted overcharges show in the month's figures.

Exceptions

The invoice bills more than was received
The agent drafts the bill at the received quantity and a credit note request for the difference. Meridian Fasteners' INV-77120 billed 10 boxes of M8 nuts against 8 received: bill S$684.52, credit note requested for S$45.78. If the supplier confirms the balance is on its way, the finance manager can hold the bill until the next goods receipt instead.
The price is above tolerance
The bill is held for the finance manager, who either approves it at the invoice price (purchasing then updates the price history) or approves it at the PO price and requests a credit note for the difference.
There is no PO
The bill goes to the person who owns the cost, such as the operations manager, with the agent's suggested coding. Nothing posts until someone approves.
The invoice arrives before the goods
It waits as awaiting receipt and is rechecked each time a goods receipt posts on that PO. After 7 days the storekeeper is asked whether the goods came in.
The invoice looks like a duplicate
It is held with the earlier bill beside it. A person rejects it, or releases it with a note, for example for a supplier that restarts its invoice numbers each year.
A supplier credit note arrives
It is matched to the open credit note request or to the original invoice number it quotes. A credit note that closes a request raised at billing clears the difference on the supplier's statement and is not deducted from payables a second time.

Worked example

Price difference on a Kestrel Paints invoice

  • Invoice KP-26-1184, matched to PO-0414 and GRN-0929. Quantities agree with the goods receipt.
  • Wood primer 5 L × 24: PO price S$38.50, invoiced at S$40.00, so S$924.00 on the PO against S$960.00 billed.
  • Gloss enamel 1 L × 60 at S$17.00: S$1,020.00, agrees with the PO.
  • Invoice: S$1,980.00 + GST S$178.20 = S$2,158.20.
  • At PO prices: S$1,944.00 + GST S$174.96 = S$2,118.96.
  • Difference: S$36.00 + GST S$3.24 = S$39.24. S$36.00 is above the S$20.00 tolerance, so the bill is held for the finance manager.
  • Purchasing had agreed Kestrel's new price from 1 Nov but not updated the PO. The finance manager approved S$2,158.20 and the new price went into the price history.

Sample data. Harbourline Supplies Pte Ltd is not a real company.

Flow 03

Payment runs

Suppliers are paid in scheduled runs from approved bills, so cash goes out on known days and every payment has a bill and an approval behind it. Paying bills one at a time when a supplier calls makes cash hard to forecast, and it is where changed bank details and double payments slip through.

Starts when
The weekly run day (Thursday at Harbourline), or an urgent payment the finance manager asks for.
Ends with
Payment entries in the ledger, each bill marked sent and then paid when the bank debit clears, the bank file and approvals in the log, and remittance advices sent.
  1. 1.System: System

    Proposes the run from approved bills due on or before the next run date.

    • Bills due up to and including the following Thursday are included, so nothing falls overdue between runs.
    • Held bills, disputed bills and suppliers on payment hold are left out, each with its reason shown.
    • Open supplier credit notes are netted against the same supplier's bills.
  2. 2.System: System

    Checks each payee's bank details against the details last paid.

    • A supplier whose bank details changed in the last 30 days is left out until a second person confirms the change by calling the supplier on a number already on file.
    • A bill already in an earlier run that has not cleared the bank is left out.
  3. 3.Person: Finance executive

    Reviews the proposal, defers or part-pays bills, and submits the run.

    • The run total is shown against the bank balance at the last statement and the receipts expected before the run date.
    • The preparer is recorded on the run.
  4. 4.Person: Director

    Approves the run.

    • The approver cannot be the person who prepared the run.
    • Any change after approval, even removing one bill, sends the run back for approval.
  5. 5.System: System

    Produces the payment file in the bank's bulk payment format, or a payment list where the bank takes no file upload.

    • The file total and the number of payments must equal the approved run.
    • The file is generated once per approval, and the generation is logged.
  6. 6.Person: Finance executive

    Uploads the file to the bank portal, where Harbourline's bank signatories authorise it under the bank's own controls.

    • The system holds no bank login and cannot release a payment.
  7. 7.System: System

    Marks the bills as sent, then as paid once the bank debit is matched in the bank reconciliation.

  8. 8.Person: Finance executive

    Sends each supplier a remittance advice listing the bills and credit notes the payment covers.

    • Remittance advices are drafted per supplier from the run. They are messages to suppliers, so a person sends them.

Exceptions

A supplier emails new bank details
Bank details are never changed from an email alone. One person records the request, a second person confirms it by phone on a number already on file, and the supplier sits out runs until the call is logged. The AP invoice agent has no access to bank details.
There is not enough cash for the whole run
The finance executive defers bills to the next run. Deferred bills appear at the top of the next proposal, showing how many runs they have been deferred.
The bank rejects a payment
When the returned amount appears on the statement, the payment is reversed, the bill goes back to unpaid, and the supplier's bank details are flagged for checking.
A supplier's credit notes exceed its bills due
No payment goes to that supplier in this run, and the remaining credit carries to the next one.
A payment is needed before the next run
It is raised as a one-bill run, with the same checks and the same approval by the director.

Worked example

Payment run PAY-0046

  • Run for Thursday 12 Nov: approved bills due on or before 19 Nov.
  • Tidewell Packaging: S$5,886.00.
  • Kestrel Paints: S$2,158.20, approved at the invoice price.
  • Meridian Fasteners: S$684.52, the bill at received value. The S$45.78 credit note request is not deducted again.
  • Run total: S$8,728.72 in 3 payments, one bank file.
  • Left out: Alder Tools, S$1,308.00, because its bank details changed on 4 Nov and the call-back is not done.
  • Prepared by the finance executive, approved by the director.

Sample data. Harbourline Supplies Pte Ltd is not a real company.

Flow 04

Collections and credit control

Overdue invoices are chased on a fixed cadence, and new orders are checked against what the customer already owes. Done by hand, reminders go out late or not at all, paid invoices get chased because the receipt is not matched yet, and orders keep shipping to accounts that stopped paying.

Starts when
The daily receivables check at 07:30, a promised payment date that passes, or a new sales order for a customer with a credit limit.
Ends with
Reminders sent and logged on each customer, promises to pay with their dates, account holds and limit changes with who made them, and orders released or held.
  1. 1.System: System

    Builds the ageing from posted invoices, credit notes and receipts matched up to the latest bank statement.

    • The check runs after the 07:00 bank import, so the previous day's receipts are in.
    • Unallocated receipts and unused credit notes are netted per customer before any invoice is called overdue.
    • Buckets count days past the due date: current, 1 to 30, 31 to 60, 61 to 90, and over 90.
  2. 2.Agent: Collections agent

    Drafts one reminder per customer with overdue invoices, with a statement of account attached.

    • Skipped: invoices marked disputed, customers on the excluded list, customers with a promise to pay whose date has not passed, and customers reminded in the last 7 days.
    • The stage and its wording come from the oldest overdue invoice: friendly at 7 days, firm at 30, final at 60 for trade accounts.
    • Accounts in their first 6 months get the friendly reminder at 3 days.
    • An overdue balance above S$15,000.00 goes to the finance manager's call list instead of a reminder.
  3. 3.Person: Credit controller

    Reviews the batch, edits or holds any reminder, and approves the rest to send.

    • Each draft shows the invoices, days overdue, last contact and any promise to pay.
    • Nothing is sent until the credit controller approves it.
  4. 4.System: System

    Sends the approved reminders from Harbourline's accounts mailbox and records each one on the customer record.

  5. 5.Person: Credit controller

    Logs promises to pay from calls and replies, with the date and amount promised.

    • A promise pauses reminders for that customer until the promised date.
    • If no matching receipt is posted by the day after the promised date, the collections agent drafts the next stage.
  6. 6.System: System

    Checks each new sales order against the customer's credit limit before it can be confirmed.

    • Exposure is open invoices, plus delivered but not invoiced, plus confirmed orders not yet delivered, plus this order.
    • Exposure above the limit blocks confirmation and sends the order to the finance manager.
    • Any invoice more than 60 days overdue flags the account for a hold decision. The collections agent can suggest a hold but cannot place one.
  7. 7.Person: Finance manager

    Releases the order, places the account on hold, or changes the credit limit, with a note giving the reason.

    • Holds and limit changes are made only by a person, and each is logged.

Exceptions

The customer disputes an invoice
The credit controller marks it disputed with the reason. It leaves every reminder, and the ageing shows it separately until the dispute closes with a credit note or the customer accepts the invoice.
The customer says it paid yesterday
Reminders work from receipts matched in the bank reconciliation. If the payment is on the latest statement but not yet matched, the credit controller holds the reminder and the receipt is matched first.
A promise to pay is met only in part
The receipt is allocated to the invoices the customer names, or oldest first if it names none. The promise stays open for the balance, and the balance is chased from the promised date.
The customer is a key account
It is on the excluded list, so no reminder is drafted. Its account manager gets the overdue list each Monday instead.
An invoice passes 90 days
No further reminders are drafted. The finance manager decides on a call, a hold, a payment plan or collection action. A write-off follows the approval matrix, and the agent never drafts one.

Worked example

Ageing and reminder for Verano Kitchens, 7 Nov

  • Trade account, 30-day terms, credit limit S$20,000.00.
  • Current: INV-3529, S$4,251.00, due 24 Nov.
  • 1 to 30 days: INV-3388, S$3,488.00, 12 days overdue.
  • 61 to 90 days: INV-3051, S$9,722.80, 74 days overdue.
  • Balance S$17,461.80, of which S$13,210.80 is overdue, under the S$15,000.00 call threshold.
  • Stage from the oldest invoice: one final reminder covering both overdue invoices, with a statement attached, waiting for the credit controller.
  • INV-3051 is past 60 days, so the account is flagged and the agent's hold suggestion goes to the finance manager.
  • New order SO-1219 for S$3,815.00, with no other open orders, would take exposure to S$21,276.80. That is over the limit, so the order waits for the finance manager.

Sample data. Harbourline Supplies Pte Ltd is not a real company.

Flow 05

Bank reconciliation

Every bank line is matched to a receipt, a payment or a coded entry, so the ledger's cash agrees with the bank to the cent each day. Left to month end, unidentified receipts pile up, customers are chased for invoices they have paid, and nobody can say which payment run has cleared.

Starts when
The previous day's bank statement is imported at 07:00, from a bank feed or a statement file.
Ends with
Receipts allocated to invoices, payment runs marked cleared, coded entries for bank-only lines, and a daily reconciliation with a difference of S$0.00 or a list of what is still open.
  1. 1.System: System

    Imports the statement and checks it is complete.

    • The opening balance must equal the previous statement's closing balance; a gap stops matching until the missing statement is loaded.
    • A line with the same date, amount and reference as one already imported is rejected as a repeat.
  2. 2.System: System

    Runs the matching rules in a fixed order and stops at the first rule that fits each line.

    • Rule 1: a payment run reference, matched to the run total, or to each payment where the bank lists them separately.
    • Rule 2: an invoice number in the reference, with an amount equal to that invoice's open balance.
    • Rule 3: the payer's name matches a customer, and the amount equals exactly one of that customer's open invoices.
    • Rule 4: the amount equals the sum of 2 to 5 of that customer's open invoices, and only one combination fits.
    • Rule 5: recurring lines such as bank charges and interest, matched by description to a set account.
  3. 3.System: System

    Clears rule 1 and rule 2 matches, creating the receipts against the invoices.

    • Only these exact matches clear on their own, and the finance executive can reverse any of them.
  4. 4.Person: Finance executive

    Confirms or rejects the rule 3, 4 and 5 proposals in one batch.

  5. 5.Person: Credit controller

    Identifies the remaining receipts with the customer, from remittance advices or a call.

    • An unidentified receipt is held as unallocated cash. It is never put against the oldest invoice of a customer it might belong to.
  6. 6.Person: Finance executive

    Creates and codes an entry for each bank line with nothing behind it, such as a direct debit.

  7. 7.System: System

    Produces the reconciliation: bank closing balance, less payments not yet presented, plus receipts not yet credited, against the ledger's bank balance.

    • The day is marked reconciled only when the difference is S$0.00.
    • Ledger items with no bank line after 10 business days are listed for follow-up.
  8. 8.Person: Finance manager

    Reviews and signs the month-end reconciliation for each bank account.

Exceptions

One receipt pays several invoices with no remittance
Rule 4 proposes the invoices if exactly one combination fits. If more than one fits, nothing is proposed and the credit controller asks the customer which invoices it paid.
The customer paid less than the invoice
The receipt is allocated and the shortfall stays open on the invoice with a note. Writing off a small difference, such as a bank charge the customer deducted, follows the approval matrix.
The payment run debit differs from the run total
Nothing clears. The finance executive compares the bank's payment list with the run; usually one payment was rejected, and that bill goes back to unpaid.
A customer's cheque is returned
The returned cheque line reverses the receipt, the invoice reopens in the ageing, and the credit controller is told the same morning.
A receipt is still unidentified after 14 days
It stays on the reconciliation as unallocated cash and goes on the finance manager's month-end review. It is not moved to income to clear the list.

Worked example

Statement for 12 Nov, imported at 07:00 on 13 Nov

  • Credit S$1,417.00, reference CORALLIS FIT-OUT INV3498: rule 2, cleared against INV-3498.
  • Debit S$8,728.72, reference GIRO PAY-0046: rule 1, agrees with the run total, so its 3 payments clear.
  • Credit S$3,488.00 from VERANO KITCHENS, no invoice number: rule 3, one open Verano invoice is exactly S$3,488.00 (INV-3388). Confirmed by the finance executive.
  • Debit S$18.00, SERVICE CHARGE: rule 5, bank charges account. Confirmed.
  • Credit S$1,250.00, reference TRF 88213, no payer name: no rule fits, passed to the credit controller.
  • Result: 4 of 5 lines cleared, and S$1,250.00 held as unallocated cash until it is identified.

Sample data. Harbourline Supplies Pte Ltd is not a real company.

Flow 06

Month-end close and GST return

The month is closed against a fixed checklist, so receivables, payables, stock and GST each agree with the ledger before anyone reports on them. Without a cut-off and a tie-out, goods received on the last day go unaccrued, the GST return is rebuilt from spreadsheets, and the same differences come back every quarter.

Starts when
The first working day after month end. At the end of each GST period, preparing the return follows the close.
Ends with
A locked month with each sub-ledger tied to its control account, reversing accruals posted, a signed close checklist, and at period end the GST F5 figures with every line traced to documents and the filed figures recorded.
  1. 1.System: System

    Runs the cut-off reports for the month just ended.

    • Goods received on or before the last day with no bill are listed at PO value before GST. Stock lines are already in the goods-received-not-invoiced account from the goods receipt, so they are not accrued again; the non-stock lines on the list are the accrual proposal.
    • Delivery orders signed on or before the last day with no invoice are listed. With invoices raised from signed DOs each day this list should be empty, so anything on it is a stopped invoice.
  2. 2.Person: Finance executive

    Completes the bank reconciliation for every account to the last day of the month.

  3. 3.Person: Finance executive

    Prepares accruals and prepayments from the cut-off reports and the recurring schedule.

    • Accruals carry no GST; the GST comes in with the supplier's tax invoice.
    • Accruals reverse on the first day of the next month, so the real bill replaces them.
    • Manual journals go to the financial controller for approval.
  4. 4.System: System

    Ties each sub-ledger to its control account.

    • Aged receivables total equals the receivables control account; aged payables total equals the payables control account.
    • The goods-received-not-invoiced listing equals its account, and the stock valuation equals the inventory account.
    • Control accounts take no manual journals, so a difference is usually a timing item. Any difference is listed by document, and the close does not move on until it is explained.
  5. 5.Person: Financial controller

    Reviews the close checklist and locks the month.

    • Each checklist item has a preparer and a reviewer recorded.
    • Once locked, nothing posts into the month. Reopening it needs the financial controller and is logged with the reason.
  6. 6.System: System

    Prepares the GST return figures for the period from the posted documents.

    • Output tax is the sum of the GST on each invoice and credit note dated in the period. IRAS asks for it to be tracked separately, not worked out from the standard-rated sales total.
    • Taxable purchases come from bill values before GST, not grossed up from the input tax figure.
    • Input tax comes only from approved bills whose supplier GST number agrees with the supplier record. Bills on GST codes the accountant marked as not claimable are left out.
    • Every figure opens to the documents behind it.
  7. 7.Person: Finance manager

    Reviews the figures with Harbourline's accountant and files the GST F5 return with IRAS by the due date, one month after the period ends.

  8. 8.System: System

    Records the filed figures against the period and locks its GST.

    • A document later found to belong to a filed period is not posted back into it. It is listed for the accountant to decide how the correction is made.

Exceptions

A supplier bill arrives after the month is locked
The bill posts in the open month. A stock line clears the goods-received-not-invoiced balance its goods receipt created, and a non-stock line lands in the month where its cut-off accrual has already reversed, so the cost stays in the month the goods arrived.
A sub-ledger does not tie
The close stops at that item. The difference is listed by document, for example a receipt dated in the month but entered after the cut-off report ran, and the finance executive clears it before the financial controller reviews.
The stock count shows differences
Count differences go through the inventory module's approval before the stock valuation is taken, so the inventory account and the valuation use the same numbers.
A credit note relates to a sale in a filed GST period
It posts in the open period with the original invoice reference. The filed return stays as filed, and the accountant confirms the treatment.
An error is found in a filed return
The documents affected are listed with the amounts for the accountant, who decides how it is corrected with IRAS. The system does not change filed figures.

Worked example

GST return for August to October 2026

  • Return and payment due 30 Nov 2026, one month after the period ends.
  • Box 1, standard-rated supplies net of credit notes: S$221,400.00 (Aug) + S$229,900.00 (Sep) + S$238,700.00 (Oct) = S$690,000.00.
  • Box 2, zero-rated supplies: S$18,600.00. Box 3, exempt supplies: S$0.00. Box 4: S$708,600.00.
  • Box 5, taxable purchases: S$503,400.00 (S$496,800.00 standard-rated, S$6,600.00 zero-rated).
  • Box 6, output tax summed from the documents: S$19,926.00 + S$20,691.00 + S$21,483.00 = S$62,100.00.
  • Box 7, input tax from approved bills: S$44,712.00.
  • Box 8, net GST payable: S$62,100.00 less S$44,712.00 = S$17,388.00.

Sample data. Harbourline Supplies Pte Ltd is not a real company.

Design decisions

Why the flows work this way

The choices behind the order of the steps and the checks, and what each one trades off.
  • Customer invoices are raised from signed delivery orders

    The delivered quantity is what the customer's own goods receipt shows, so an invoice built from it matches what their AP team checks. Invoicing from the sales order is simpler when every order ships complete, but a distributor with part deliveries ends up overbilling and then issuing credit notes. The trade-off is that deposits and advance billing need their own invoice type, which we scope separately.

  • Posted invoices and bills are never edited

    A correction is a credit note, a supplementary invoice or a reversal, each dated and referencing the original. A posted document may already be in a GST period, on a customer's statement or in a payment run, and editing it in place would change all three without a trace. It means more documents, and in return every GST figure and balance can be explained line by line.

  • The duplicate check runs before matching, and searches drafts and rejected bills

    A second copy of an invoice will match its PO perfectly if the first copy is still in draft, because nothing has been billed against the goods receipt yet. Checking for duplicates first, across drafts, held and rejected bills as well as posted ones, closes that gap. Some suppliers restart invoice numbers each year, so the check also compares amount and date, and a person releases false hits with a note.

  • Price tolerance is a S$ amount per invoice, and accepted differences post to their own account

    A percentage tolerance lets large sums through on large invoices: 2% of a S$50,000.00 bill is S$1,000.00 that nobody looked at. A cap per invoice, S$20.00 before GST at Harbourline, lets rounding and small freight differences through and holds anything bigger for the finance manager. Differences within tolerance post to a purchase price variance account, so if small overcharges add up over a month, the figure shows it.

  • Supplier bank details change only through two people, outside the AP flow

    Payment diversion typically starts with an email from a supplier's real or spoofed address asking for payments to go to a new account. So one person records the change, a second person confirms it by calling a number already on file, and a payee changed in the last 30 days sits out runs until that call is logged. The AP invoice agent has no access to bank details. A genuine change can delay that supplier by one run, which is the cost of the control.

  • A credit limit breach blocks the order; a hold for late payment is a person's decision

    The credit limit is a number someone already approved, so the system applies it mechanically, and counting confirmed orders in the exposure stops a customer from stacking orders that each fit under the limit. A hold for lateness depends on things the ledger does not know, such as a disputed invoice or a payment promised on the phone. So the system flags accounts past 60 days, the collections agent can suggest a hold, and the finance manager decides.

Scoping

Settings we agree with you before the build

Each of these changes how the flows behave. We settle them on the scoping call and write them into the phase plan.
Ledger
OptionsFull ledger in the new system, or invoices and bills handed to the accounting package you keep
Usual startHand invoices and bills to your current package in the first phase if it works, and move the ledger when finance becomes its own phase, so balances are migrated once.
Three-way match tolerances
OptionsA S$ amount per invoice, a percentage per line, or both; for all suppliers or per supplier; a quantity tolerance for cut or weighed items
Usual startS$20.00 per invoice before GST and no quantity tolerance on counted items, which lets rounding through and holds real price changes.
Payment runs
OptionsWeekly or fortnightly; a bank bulk payment file, or a payment list keyed into the bank portal
Usual startWeekly with a bank file, because a weekly run is short enough for the director to read line by line before approving.
Reminder stages
OptionsDays overdue and wording for each stage, by customer type; excluded accounts; quiet days such as public holidays
Usual start7, 30 and 60 days overdue for trade accounts, 3 days for accounts in their first 6 months, and key accounts excluded and left to their account manager.
Credit control
OptionsWhat counts as exposure; whether a breach blocks the order or only warns; the overdue age that flags an account for a hold
Usual startBlock at the limit with confirmed orders counted, and flag accounts with an invoice over 60 days overdue for the finance manager to decide.
Bank matching
OptionsExact matches clear on their own, or every match is confirmed by a person; a bank feed or a daily statement file
Usual startExact matches clear on their own and everything else is proposed, so the daily review covers only the lines that need judgement.
GST rounding and period
OptionsGST worked out per invoice or per line; the GST accounting period on your registration, quarterly or monthly
Usual startPer-invoice rounding on your registered GST period, unless a large customer's system needs GST by line to match its own records.
InvoiceNow
OptionsSend invoice data through InvoiceNow from go-live, or from your phase date. IRAS has announced phases for existing GST-registered businesses from 1 Apr 2028 (annual supplies of S$200,000 or less) to 1 Apr 2031 (above S$4 million)
Usual startKeep invoices as structured data from go-live, so connecting through an InvoiceNow solution provider when your phase applies adds only the sending step.

Key records

The records it holds

Each record lives once in the shared database, so other modules and agents read the same version.
  • Chart of accounts

    • Accounts
    • GST codes
    • Cost centres
  • Customer invoice

    • Lines and GST
    • Due date
    • Order reference
  • Supplier bill

    • Matched PO and receipt
    • Differences
    • Approval
  • Payment

    • Bills paid
    • Bank account
    • Approved by
  • Receipt

    • Invoices settled
    • Method
    • Date
  • Journal

    • Lines
    • Source document
    • Posted by

Approvals

Who approves what, and above which amount

Agent drafts and staff drafts follow the same rules. The matrix is built to your roles and limits.
SampleApproval matrix for finance and accounting
Supplier bill that matches the PO and receiptWhenUp to S$10,000Who approvesFinance executive
Supplier bill that matches the PO and receiptWhenAbove S$10,000Who approvesFinance manager
Supplier bill with a price or quantity differenceWhenAny amountWho approvesFinance manager
Payment runWhenAny amountWho approvesDirector
Payment reminder to a customerWhenAny amountWho approvesCredit controller
Manual journalWhenAny amountWho approvesFinancial controller

A sample matrix for a distributor. Amounts include GST. Yours follows your own roles and limits.

Sample data. Harbourline Supplies Pte Ltd is not a real company.

Connects to

What it shares with the other modules

The records below are read and written by both modules, so nothing is typed twice.

Planning

Which phase it usually ships in

First or a later phase, depending on what you keep

If your accounting package works, finance can wait while operations move first, and the modules hand invoices and bills to the package you keep. If the package is the pain, finance leads.

Planning guidance from how we usually scope, not a rule. Your written phase plan sets the actual scope, price and go-live date before you sign.

Price bands

  • Quick build

    2 to 3 days of build

    From S$15k

    One workflow or one agent, on your data.

  • Build

    4 to 5 days of build

    S$30k to S$40k

    A set of modules and agents around one part of the business.

  • Enterprise programme

    Months, in phases

    Around S$150k

    A full ERP programme, delivered phase by phase.

No per-user licence fees. You own the full source code of what we build.

Industries

Industries that use it

Industry pages bundle this module with the others each trade usually starts with. See all industries.

FAQ

Finance and accounting questions

Can we keep our current accounting system?

+
Yes. Many companies keep their accounting package for the ledger at first and move operations into the new system. We check what your package allows on the scoping call and put the connection in the phase plan.

How does the AP invoice agent match invoices?

+
It reads the supplier invoice, matches each line to the PO and the goods receipt, and checks prices, quantities and GST. Anything that does not match is flagged with the amount, and the drafted bill waits for approval.

Will an agent ever make a payment?

+
No. Payments always stop at a person. Agents can prepare a payment run for review, but a person approves it.

How does GST work?

+
GST is worked out on each invoice and bill line using the GST code that applies, and the GST summary ties back to the documents behind it. Your accountant keeps the final say on what is filed.

How does the collections agent chase overdue invoices?

+
It drafts a reminder based on the customer's history and open invoices, in the tone you set, with the statement attached. A person reviews and sends it. Messages to customers always stop at a person.

Can our auditors see who approved what?

+
Yes. Every entry shows who prepared it, who approved it and what changed, whether the draft came from an agent or a person.

Should finance be in the first phase?

+
Only if the accounting system is the pain. Many companies move operations first and let finance follow. The phase plan sets the order.

Do we pay per user?

+
No. There are no per-user licence fees, and you own the full source code of what we build. After go-live, the Run retainer covers hosting, support and AI usage, priced in the phase plan.

Add this to your first phase

Bring the finance workflow that hurts most. In 30 minutes we show how it would run as an approval queue on sample data, and what a first phase would cost.