PlatformUpdated 10 Oct 2026

Approvals: require sign-off before records post

Hold invoices, expenses, payments or purchase orders for approval by rule (amount threshold, creator role, assigned approver), then approve or reject from one queue, with a full audit trail and API access.

Approvals add a control step to your books: when a rule matches, an invoice, expense, payment or purchase order is held and cannot post until an authorised approver signs off. Turn it on from Approvals & automation, then manage everything from Approvals. There is no menu row for it any more: on a tablet or computer it is the Automations icon in the system dock down the left edge; on a phone, More → Explore modules → Approvals & automation → Open.

How a rule works

A rule says which records need approval and who approves them. For each of the four entities you can set:

  • An amount threshold: records at or above the amount are held. Leave it blank to hold every record of that type.
  • A creator role (optional): only records created by that role are held, so you can, say, review only what an assistant raises.
  • An approver: a specific team member, or anyone with approvals access. A pinned approver is the only person who can act on those requests.
  • Active: only active rules hold records. Switch a rule off to pause it without deleting it.
  • Only over the buyer's credit limit (invoice rules, when the wholesale and exporters pack is switched on for your workspace). Turn on Only when the invoice takes the buyer over their credit limit and the rule holds an invoice only when the buyer's open receivables plus this invoice go over the credit limit on their client record. A client with no credit limit is never held by it. The rule list says "only over the buyer's credit limit", and approving a held invoice records who released it and when. See the wholesale and exporters guide.

With no active rules, nothing is ever held and your books behave exactly as before. A rule only ever engages once it matches a submitted record.

Approving and rejecting

Held records appear in the Pending queue with their amount, who submitted them and when. Approve to clear the hold so the record posts to your books; reject to send it back with a note. Rejecting an invoice returns it to draft.

Only the assigned approver, or a member with approvals write access, can act. This is enforced on the server, so a teammate who shouldn't approve can't, even if they reach the screen. Read-only members see the queue but no action buttons.

The audit trail

The History tab records every decision: who submitted the record, who approved or rejected it, when, and any note left. Approval rules and requests are financial-control records, so changes are captured in your tamper-evident audit log.

Chase overdue invoices with a dunning ladder

A dunning ladder is a ready-made set of staged reminders that escalate on their own as an invoice ages past its due date, for example a gentle nudge at 3 days overdue, a firmer one at 7, and a final notice at 14. Install it in one click from the Dunning tab under Workflows (the AI workflows icon in the system dock, since Workflows is no longer a menu row), then edit the day thresholds, the message label and the channel for each stage, and switch the whole ladder on or off.

  • Each stage fires exactly once per invoice, on the first day it crosses that stage's threshold, and never again, even if the reminder job runs late or skips a day. There is no daily spam.
  • It stops the moment the invoice is paid or cancelled. A settled invoice matches no stage, so no further reminders go out.
  • Every reminder respects consent. Each send goes through the same consent chokepoint as the rest of the app: a client who has opted out, is on the suppression list, or is inside quiet hours is skipped automatically and the run is logged as skipped with no message sent. You never have to police this by hand.

The Dunning tab also shows where each overdue invoice currently sits in the ladder, so you can see at a glance who has reached the final notice.

Automate it from the API

Everything here is available over the Integration API: list the pending queue, approve or reject a request, and manage rules, using the approvals:read and approvals:write scopes. AI assistants can do the same through the connected MCP tools.

Suggestions: rules we noticed you already follow

The Suggestions tab is the other way a rule gets made. Instead of you describing a rule, Finocket watches what you actually do (chase this kind of invoice, tag this kind of expense, start that follow-up) and offers to keep doing it for you.

Every suggestion shows its working. “You did this 7 of the last 9 times” is a count of what happened, not a prediction, and the timing it offers is the timing you used. If the evidence looks wrong to you, it is telling you something about your own habit rather than about the feature.

Nothing here is switched on. A suggestion sits in the list until you press Do this for me; No thanks removes it. Turning one on creates an ordinary rule. It appears in the Rules tab, runs through the same consent chokepoint, and can be edited or switched off like any other.

A suggestion whose action would reach a customer says so on its face before you enable it. A rule that files something quietly and one that sends a message to a person you do business with are very different, so you see which kind it is before you turn it on.

Related: Team & roles, Developers & API.

Does this work offline?

Frequently asked questions

My automation rule is marked “Cannot run”. What does that mean?

The rule was saved with an action this version of Finocket cannot perform — usually a rule created a while ago, or imported from a setup that had a different set of actions. The rule still matches its trigger, but there is nothing left for it to do, so nothing happens. Open the rule, remove the action that is no longer offered, and pick one from the list instead. A rule you simply have not finished adding actions to is not marked, because that is a draft rather than a fault.

Can Claude or ChatGPT turn an automation on for me?

No, and it is stopped in the database as well as in the app. A connected assistant can READ the automations Finocket noticed you already do by hand, including the evidence behind each one, so you can ask it what it would suggest. Turning one on asks who is acting, and an assistant, a scheduled job or an API key has no answer to that, so the request is refused before anything is created. Only you, signed in, can switch a suggestion on, and what you were shown at that moment is stored with your decision.

What happens with no approval rules set?

Nothing changes. With no active rules, no record is ever held and your books behave exactly as before. A rule only engages once it matches a submitted record.

Can a teammate approve their own submission?

Only if they're the assigned approver or hold approvals write access. Authority is checked on the server for every act, so UI gating alone is never relied on. An unauthorised approve is refused.

Does rejecting delete the record?

No. Rejecting stamps the record rejected and records your note; an invoice returns to draft so it can be corrected and resubmitted. Nothing is lost.

Can I be told when something is waiting for my approval?

Yes. The Approvals waiting automation at /agents reads the pending queue and tells you what is held and for how long, so an invoice does not sit for a week because nobody opened the queue. Set it up on the Automations screen at /agents. On a day the queue is empty you hear nothing.

Can that automation approve the small ones itself?

No. Approving is an act by a person with the authority to do it, and the server checks that every time. An automation, a connected assistant or an API key has no answer to the question of who is approving, so the request is refused before anything is decided. If the small ones should not need approval at all, raise the rule's threshold instead.

Related articles