The Short Answer
Short answer. If procurement runs Coupa at your company, finance can automate accruals from the purchase order and invoice data Coupa produces without standing anything up inside Coupa. Coupa is a procure-to-pay system owned by procurement, not accrual software. It records purchase orders, invoices, and receipts, but it does not decide which expenses are incurred at period-end, estimate the accrual, or post the entry to your ledger. Mesh reads that data and books the accruals.
At a 200 to 2,000 employee company, procurement owns Coupa and finance is a consumer of what it produces. That ownership split is the reason this page exists. The accrual work sits with finance, and it can be automated from the data Coupa already generates, without a Coupa project and without waiting in the procurement team's queue. The close has no slack to give it up to, with the median monthly close running 6.4 calendar days and top performers at 4.8 or fewer, per APQC benchmarks.
What Coupa Already Gives Finance
Coupa is a procure-to-pay platform. It lets a company raise and share purchase orders, receive supplier invoices electronically, and match purchase orders, invoices, and receipts of goods or services automatically, the three-way match that AP, procurement, and finance teams rely on. Approvals, spend controls, and reporting sit on top of that flow.
For the close, that is a real foundation, and it is worth stating plainly rather than dismissing. When the three-way match completes, you have a clean, well-documented liability: a purchase order, a receipt, and an invoice that agree. Coupa is good at exactly this. The problem is that at period-end, the pieces rarely all exist yet, and the accrual is owed regardless.
Why Coupa Alone Leaves the Accrual Open
The gap here is not between two tools. It is between procurement's system and finance's ledger. Coupa records what has been ordered, received, and invoiced. Turning that into period-correct accruals is a separate job that happens in the general ledger, which finance owns and Coupa does not touch.
The mechanics are concrete. A purchase order is raised and the goods or services are received before the supplier invoice arrives, so at close there is a receipt but no invoice and the three-way match has not completed. The expense belongs in the period anyway. Some spend never carries a purchase order at all, and a vendor confirming delivery by email or a service performed against a contract never becomes a Coupa document. And reconciling what Coupa shows as committed and received against what has actually posted to the general ledger is a manual exercise every close, and it is work finance teams have the least capacity to absorb, with first-time CPA exam candidates down 33 percent between 2016 and 2021, per The CPA Journal. For the no-document cases specifically, our guide to catching unbilled accruals walks through how to estimate them defensibly.
What Mesh Reads, and How
Mesh does not sit inside Coupa, and there is nothing to build or switch on there. It pulls in your purchase orders and invoices from the systems that already hold them. Mesh integrates with NetSuite and with data warehouses such as Snowflake directly, and that is where those purchase order and invoice records land in the normal course of business. So finance can automate accruals from that spend without a project inside Coupa and without a dependency on the procurement team that owns it.
From there, Mesh applies your accrual policy to the data, the same logic every period, stages a journal entry with the supporting detail attached, and posts the approved entry to your ERP. It also monitors email, Slack, Teams, and the AP inbox for incurred expenses that never generated a purchase document at all. Because Mesh reads NetSuite through SuiteQL, it can show what has been booked for the month and give you drilldowns and tracebacks for spend by vendor, by purchase order, or rolled up to the department level. If you are weighing that ledger layer more closely, see our roundup of accrual tools that sit on top of NetSuite and, for the native tooling specifically, what NetSuite's own amortization does and does not cover.
One Accrual, From Purchase Order to Close
Take a single case. A facilities vendor has a standing purchase order for 72,000 dollars of quarterly building services, raised and approved in Coupa by the procurement team. The services are delivered evenly across the quarter. The vendor invoices once, in arrears, and the invoice for the quarter ending June 30 is dated July 8.
Here is what each system sees at June 30. Coupa shows the purchase order and a receipt confirming the June service, but no invoice yet, so the three-way match is still open. Your ERP shows the purchase order commitment but no posted expense for the month. The June portion of the service, 24,000 dollars, has been incurred and belongs in the June close, and nothing has booked it.
Mesh pulls the purchase order and receipt detail from your ERP and data warehouse, applies your policy for periodic service contracts, and stages a 24,000 dollar accrual to the correct expense account and cost center, with a reversal dated for July. When the July 8 invoice posts, Mesh trues up any difference. Finance did all of this without asking the procurement team for access or raising a request inside Coupa. Afterward, an auditor pulling the entry sees the traceback in one place: the purchase order number, the receipt, the amount, and the department it rolled up to, with the booked-for-the-month view showing the same figure by vendor and by purchase order.
What Still Takes a Person
This is not full automation, and a controller who has closed a set of books would not believe the claim if it were made. A person still decides whether a receipt reflects work actually delivered, how a quarterly or annual commitment should be spread across periods, and what materiality threshold makes an accrual worth booking at all. Anything that moved unusually against prior periods, or that carries a missing assumption, gets flagged for review rather than posted automatically. Mesh narrows the work to the exceptions. The controller still owns the judgment and the sign-off.
Frequently Asked Questions
Does Mesh need access to our Coupa instance?
No. Mesh works from your purchase order and invoice data as it lands in your ERP and data warehouse, so nothing has to be set up inside Coupa itself. Your procurement team does not have to provision anything for finance to start automating accruals.
Does finance need procurement's help to turn this on?
No, and that is the point for teams where procurement owns the platform. Because there is nothing to build inside Coupa, finance is not waiting in the procurement backlog. Mesh reads the data downstream, in the systems finance already runs.
How does Mesh get our purchase order and invoice data?
It pulls those records in from the systems that already hold them, your ERP such as NetSuite and your data warehouse such as Snowflake, which Mesh reads directly. The purchase order and invoice detail is the same data your finance systems capture in the normal course of the close.
What about spend with no purchase order?
Mesh monitors email, Slack, Teams, and the AP inbox, so an incurred expense with no purchase order behind it still gets caught. A vendor confirming delivery in an email thread is a valid accrual signal even when no purchase document was ever raised for it.
Can we see accruals by vendor, purchase order, or department?
Yes. Mesh shows what has been booked for the month and provides drilldowns and tracebacks for spend by vendor, by purchase order, or rolled up to the department level, so both your team and an auditor can trace any number back to its source.
Book accruals from Coupa spend, no Coupa project required
See where manual accrual work is costing your team. Take the Accrual Maturity Assessment for a personalized breakdown of your close.
Take the Accrual Maturity Assessment