Release Notes

FINN

Financial Intelligence & Numerical Navigator — finance operations for WMG Pte Ltd across the SG, MY, TH, HK and CN entities, built around the Job Number so every financial event traces back to one auditable identifier.

Live at finn.wmgai.cloud · Current release v1.4 · Updated 6 Oct 2026

v1.4
Latest

Approvals, RF Payouts, and a Job Number that says where it is

The changes the Finance Manager asked for on 3 September. Purchase orders and supplier invoices are now signed off before they count, money leaving WMG is routed through two people, and a Job Number finally shows whether it has been billed.

  • NewRF Payout replaces the Payment Request module. A payout is built by selecting supplier invoices that have already passed approval and PO matching — there is no amount field, because a payout whose total could be typed over would not equal the invoices it claims to settle. One vendor, one currency and one WMG entity each, since a payout becomes a single bank transfer and one that mixed any of the three could not be made the way it was approved.
  • NewA payout is recorded as paid after the transfer, not instead of it. Once approved, someone makes the transfer in the bank and then records it here with the date and the bank reference, which marks the supplier invoices on the payout as paid too. FINN does not make payments, move funds or reach a banking system, and nothing on this screen does either — it is a record of something that happened elsewhere.
  • NewPurchase orders are approved before they go live. A Project Owner raises one and it waits for their Head of Department; above SGD 1,000 the Group President signs as well. Below that threshold the first approval is the decision, rather than a signature waiting on a second nobody owes it. Purchase orders created by WMG Connect and WMG Postal are approved on arrival — they are system-generated and there is nobody to ask.
  • NewSupplier invoices are approved, and only then can they be paid out. The same chain, above SGD 1,000. An invoice that has not passed matching and approval does not appear as eligible when Finance builds a payout — and where it is held back, the reason is shown against it rather than the invoice simply going missing from the list.
  • NewAn invoice outside the 3% matching tolerance can be accepted. Previously a variance left the invoice flagged with nowhere to go. The Head of Department or Group President can now accept it, with a reason, and the acceptance is recorded as its own state rather than being folded into an ordinary match — an auditor asking why a 12% variance was paid can see that somebody signed for it.
  • NewA Job Number now reads Active, Invoiced or Cancelled. Invoiced appears on its own as soon as a customer invoice is raised against the job, and goes away again if that invoice is cancelled, so the status is always the truth rather than something to remember to set. An invoiced job still takes supplier costs — the costs of a job routinely arrive after the client has been billed.
  • NewA Job Number can be cancelled, and later reinstated. Cancelling asks for a reason and is refused while any invoice, purchase order, expense claim or payout is still attached to it — the order is to deal with those first, and FINN names the one in the way. Reinstating puts it back into service, because a spent number behind a one-way door would strand every MAWB, CN38 and partner record that points at it.
  • NewThere is a Head of Department role, and a reporting line on every user. Approvals follow that line: a purchase order goes to its creator's own Head of Department, not to whoever happens to hold the role. Where somebody has no Head of Department available — none set, suspended, or departed — the approval escalates to the Group President rather than waiting, and the record says why it escalated.
  • NewSupporting documents attach to Job Numbers, purchase orders and invoices. Both kinds of invoice. Files are checked by their contents rather than their file extension, so something renamed to look like a PDF is caught.
  • ImprovedApproval thresholds are editable without a developer. The three SGD figures — purchase orders, supplier invoices, RF payouts — are set by an administrator under Settings. They were fixed in the code before.
  • ImprovedThere are 22 billing currencies instead of six. Everywhere a currency is chosen. The six were hardcoded in eight separate places while the system had always held twenty-one, so a job in Japanese yen or Czech koruna was simply refused with no indication why.
  • ImprovedThe Job Number list on an invoice is narrowed to the client you picked. Jobs with no client linked are still offered, because most jobs in FINN predate the client link and hiding them would hide the majority.
  • ImprovedCreating a Job Number requires a Customer, Xero Department Code and Billing Currency. On creation only. Applying the same requirement to editing would have made almost every existing job uneditable until somebody went back and filled in three fields on each of them.
  • ImprovedThe Job Number listing shows when each one was created.
  • FixedA supplier invoice can be attached to a Job Number that has already been invoiced to the customer. It could not before, which is the wrong way round: the supplier bills after the work, and often after the client has been billed for it.
v1.3

Partner systems stop losing numbers

How WMG Connect and WMG Postal create records in FINN. Mostly invisible if you work inside FINN, and the reason numbers stopped going missing.

  • NewA partner reserves a number first and sends the details second. The old call minted the Job Number or purchase-order number in the same request that carried the details, so anything that failed after the number was issued burned it — the partner had nothing to retry against and the number was simply gone. The two steps can now be retried independently.
  • NewA reserved number that is never used can be cancelled. From the partner system, or by an administrator in FINN, who can also see what is outstanding. Reserved numbers used to accumulate with no way to tell a stalled one from a live one.
  • ImprovedSource documents can be CSV and XLSX as well as PDF and images. Several partner feeds send a spreadsheet rather than a document, and those were being rejected at the door.
  • ImprovedThe integration reference is bilingual, and generated from the API itself. English and 简体中文, from the same contract the API is built on — so it can no longer describe something the API does not do. The previous reference was maintained by hand and had drifted into saying the opposite of the truth in places.
v1.2

Controls, matching and reporting

The changes Finance asked for on 20 August: a record of why anything was undone, and the first look at project margin from the invoice.

  • NewA reason is required before anything is deleted, cancelled or amended. Job Numbers, purchase orders and invoices. The reason is kept with the record, so the question months later has an answer that does not depend on anyone remembering.
  • NewCancelling an invoice reopens its Job Number. Rather than leaving it stranded alongside the cancelled invoice, so the job can be reused or reassigned.
  • NewSupplier invoice and purchase order matching, with a tolerance you set. An indication for Finance about whether an invoice sits inside its purchase-order cover — not a block. FINN has no payment step to block, and says so.
  • NewXero's invoice export can be imported. It updates FINN's invoice listing by Job Number, and shows FINN's and Xero's dates and numbers side by side rather than merging them — a difference between the two is exactly what reconciliation is looking for.
  • NewA downloadable CPA analysis report, and project margin on the invoice. Margin had only ever been visible from the job. Finance reconciles from the invoice.
  • ImprovedA matched Job Number or purchase order cannot be amended. It has to be unmatched from its invoice first, which is now possible. Amending a record an invoice already points at would change what was billed after it was billed.
  • ImprovedThe FX Rates page filters by period, frequency and currency.