Bill Approvals let you require sign-off on AP bills before they are approved. You define an approval policy — an ordered set of rules for which bills need approval and who approves them — and SoftLedger routes each matching bill through those approvers automatically.
Bills that don't match any rule are a simple approval where any user with access to the Bill and approval user permission can approve it.
Note: Bill Approvals is enabled per account. If you don't see Approval Policies under Admin and would like this turned on, reach out to support@softledger.com.
How it works
You configure a Bill Approval Policy with one or more rules. Each rule says which bills it applies to (for example, Amount >= $10,000) and who approves them.
When a bill is created or edited, SoftLedger checks it against your policy. If one or more rules match, an approval process starts for that bill.
The matching rules activate one at a time, in policy order. As each rule becomes active, its approvers receive an email requesting approval.
When the last rule is approved, the bill's status becomes Approved and the bill continues through your normal AP flow.
Setting up your approval policy
Go to Admin > Approval Policies.
Select Bill Approval Policy.
Select Add rule and configure your first rule.
Save.
Each account has one Bill Approval Policy, and it's empty until the first save.
Note: You'll need the update:Settings permission to configure the policy, and list:Settings to view it.
Rules
Each rule answers two questions: which bills, and who approves them.
Match criteria — a rule needs at least one criterion.
You can select from the below fields for the bill to match on:
Amount (the bill total)
Vendor
Location
IC Location
AP Account
Currency
Invoice Date, Posting Date, or Due Date (date ranges)
Any bill custom field you've defined
Approvers — set the rule's approvers to Users or Roles (a rule uses one or the other, not both):
Users — each selected user is an availavle approver
Roles — each selected role counts as one approver, and many users may have that Role to be able to approve the bill
Required approvals is how many approvals the rule needs before the process moves on. It can't exceed the number of approvers on the rule.
Caution: Approvers need the approve:Bill permission among their User Roles.
Email notifications—Anyone selected will receive the request email to link to the Bill for approval
Rule order matters
Rules apply in the order they're listed — drag to reorder. When a bill matches multiple rules, its approval process includes all of them, in policy order, and each rule must be fully approved before the next one activates. This is how you build multi-step approvals, like "manager first, then controller.
Approving and rejecting bills
Approvers receive an email for each request, with a link straight to the approval page. You can also approve or reject from the buttons on the bill itself.
Select Approve or Reject.
Optionally add a note.
Confirm.
A few things to know:
Votes are final. Once you confirm an approval or rejection, you can't change it within that process.
For role approvers, the first member of the role to vote casts the role's vote — after that, other members of the role can't vote for it.
A rejection stops the process. The bill returns to Unapproved, and a fresh approval process starts from the first rule.
Finding bills waiting on you
On the Bills list, turn on the Awaiting My Approval toggle to see only the bills where you're a pending approver on the currently active rule.
The Approvals tab
Every bill that has been through approval carries an Approvals tab showing its full history — each approval attempt, its status, what started it, when it completed, and which policy version it used.
Select View on any row for the rule-by-rule detail, including who voted and any notes they left.
This is your audit trail. Votes are kept even when a process is stopped or restarted, and a vote cast by a user who has since been removed remains on the record with their name.
The policy itself keeps a history too: the Audit Log tab on the policy page records every save, who made it, and the full rule set at that version.
What happens when a bill is edited
Bills can only be edited before any approvals are recorded. Once a bill is Partially Approved, it's locked from editing until the process completes (you can still delete it).
Editing a bill restarts its approval from the beginning — the bill is re-evaluated against the policy and a fresh process starts at the first matching rule. This is deliberate: the approvers should always be approving the bill as it currently stands, not an earlier version of it.
The same is true when the policy itself is saved:
Saving the policy restarts all in-progress approvals. Every bill that isn't posted, voided, or fully approved goes back to the start of approval — including partially approved bills. Plan policy changes for a time when your in-flight approval queue is small.
Bills that matched no rule aren't left behind, either — they're re-checked on every edit, so a bill that grows past your amount threshold will pick up an approval process at that point.
Approval statuses
You'll see these statuses on bills as they move through approval:
Status | Meaning |
Unapproved | The process has started, and no approvals are recorded yet |
Partially Approved | At least one approval is in, but more are needed |
Approved | Every matched rule is approved — the bill has posted |
A bill's payment status is separate and is never changed by approval. A bill with draft payments keeps them through the whole process.
Good to know
A rule can wait indefinitely if it can't reach its required approvals — for example, if a role loses all of its members. Add a member to the role and the process picks right back up.
You can't delete a user who is on the current policy. Remove them from the policy and save first; then the user can be deleted. Their past votes remain valid and on the record.
Rules match on bill-level fields. Amount is the bill total, so a line change that alters the total can change which rules match.
Deleting a bill removes its approval process and votes along with it.
If working with Bills via an integration or API, it is best to NOT set up an approval policy, as any Bills with an approval policy in place can not be approved via API/integration.







