Approve vendor bills before they post
Build a workflow that reads each vendor bill from email, applies your approval limits, and creates the bill in QuickBooks only after it is approved.
The job
Vendor bills arrive in a shared inbox. AP keys each one into the ledger, then chases a manager, and sometimes a director, for sign-off. Bills get paid late or posted before anyone approved them.
By hand
With Loopfour
How the workflow runs
- TriggerA bill arrives by emailVendors or your AP inbox send bills to the workflow's own address.
- StepRead the billThe AI Agent step pulls vendor, bill number, dates, lines and total from the PDF.
- DecisionOver your approval limit?For example, bills over $10,000.
- ApprovalManager approvesThe approver gets the request in Studio, and by Slack or email if you choose. A rejection stops the run, so the bill is not created.
- OutputBill created in QuickBooksA message to your AP channel confirms it.
What you need
- Template: there is no ready-made template for this job in Studio's gallery. You build it by describing it in chat.
- Systems to connect: QuickBooks, or another ledger that can create bills (Xero, NetSuite or Sage Intacct). Slack if you want approval requests and confirmations there.
- Who approves: the people who sign off bills, named by email. For example, an AP manager above your first limit and a director above a second.
Set it up
Connect your ledger
Go to Integrations and connect QuickBooks, or your ledger. See Connect a system.
Describe the workflow in chat
On Home, describe the job. For example: "When a bill arrives by email with a PDF, read the vendor, bill number, due date, lines and total. If the total is over $10,000, ask ap.manager@yourcompany.com to approve. Then find the vendor in QuickBooks, create the bill against that vendor, and post a message in #ap." A bill in QuickBooks needs an existing vendor, so keep the vendor lookup step. See Build a workflow by describing it.
Check the email trigger
Open the trigger step to find the workflow's Inbound Address. In Filters, turn on the option that only accepts emails with a PDF attachment. You can also limit it to known senders. See Start a workflow when an email arrives.
Check the approval step
Open the Approval step. Check Approvers, Reason, Notification channels and Timeout. The timeout sets how long a bill waits. By default, it is 7 days and the run fails when it expires. See Add an approval step.
Deploy, then test with a sample bill
The inbound address accepts email once the workflow is live, so select Deploy first. Then email a sample bill to the address, approve it under Approvals, and check the new bill in QuickBooks. Delete the test bill afterwards. See Deploy, test and change a workflow.
In QuickBooks, Loopfour creates a new bill each time. It does not update a bill that is already there. If the same bill is emailed twice, two bills are created, so check for duplicates or ask chat to look the bill number up first.
What you review
- Approvals: pending bills wait under Approvals. Each request shows the reason and the bill details. See Approve or reject a request.
- Each run: under Runs, each run shows the extracted bill, the approval decision and who made it, and the bill created. Check the extracted figures against the PDF on the first few bills. See Read a run.
- Who did what: the Audit trail tab under Runs records workflow changes and decisions made in Studio. Decisions from email or Slack are kept on the run. You can export the audit trail. See Export the audit trail.
Adapt it
- Two approval levels: add a second Condition and Approval for bills above a higher limit, so the director signs after the manager.
- Escalate instead of fail: ask your developer to enable escalation on timeout as well as setting Escalation Approvers. The names alone do not enable it. Backup approvers must check Approvals in Studio; escalation does not send them a message.
- Save the PDF: add a step that stores each bill in Files as support. See Files.
Follow up on overdue invoices
Set up a workflow that emails customers about overdue invoices, with firmer reminders as an invoice ages and a weekly aging summary for your controller.
Match purchase orders, receipts and invoices
Set up a three-way match that checks each vendor invoice against its purchase order and goods receipt in NetSuite and sends mismatches for a decision.
Loopfour