Sales Tax Reporting for ECI Spruce
Taxable and exempt sales by jurisdiction, read from Spruce’s invoices for the period, with every exempt sale checked against the certificates on file and the return workpaper laid out the way the state asks. A person reviews it and files.
Finance & reportingUpdated Oct 202620 ERPs
See it work on Spruce.
Click through the steps. Fictional data, in Spruce’s terms; the real thing runs on Spruce.
| Jurisdiction | Gross sales | Exempt | Taxable | Tax collected |
|---|---|---|---|---|
| State · 6.25% | $2,418,700 | $1,612,400 | $806,300 | $50,393.75 |
| Mercer County · 0.75% | $1,604,200 | $1,081,600 | $522,600 | $3,919.50 |
| Linden County · 0.50% | $814,500 | $530,800 | $283,700 | $1,418.50 |
| City of Ashford · 1.00% | $412,900 | $290,100 | $122,800 | $1,228.00 |
Gross, exempt, taxable and tax collected, read from Spruce’s invoices for the period.
The problem, as it happens in Spruce.
The sales tax return starts with Spruce’s tax report by jurisdiction, which is right for the taxable sales and silent on the rest. The exempt sales are the problem: the contractor on a resale certificate, the church, the job in the next county at a different rate, the delivery to a jobsite that Spruce taxed at the branch. The controller exports it, sorts by customer, and checks the certificate drawer.
What nobody tracks is the gap: exempt sales to customers whose certificate expired two years ago, or was never collected because the counter said they were exempt. An audit finds those, with interest, three years later. The return gets filed on time and the risk sits in the drawer.
How it works.
- 1
The period’s invoices are read
Every invoice and credit in Spruce for the period, with the jurisdiction, the tax charged, the exemption reason, the ship-to, and the customer. Freight and delivery lines are kept apart, since states treat them differently.
- 2
Exempt sales are checked against certificates
Each exempt invoice is placed against the certificate on file for that customer, from the tax exemption workflow or your own folder: present, expired, missing, or the wrong kind for that sale.
- 3
The workpaper is laid out
Gross sales, exempt sales by reason, taxable sales, tax collected, by jurisdiction, in the order the state’s form asks. Each figure opens the invoices behind it. Differences from Spruce’s own tax report are listed, with why.
- 4
A person reviews and files
The controller reads the workpaper, chases the missing certificates or decides to accrue the tax, and files the return. The workpaper and the invoice list are kept for the period, for the auditor.
How it connects to Spruce.
Lunica reads Spruce’s invoice history, tax codes and jurisdictions, the customer account with its exempt flag and certificate fields, and ship-to addresses through a read-only login to the Spruce SQL Server database. Certificates on file come from the tax exemption workflow or the folder you point it at.
Nothing is written to Spruce by Lunica and nothing is filed on its own. The return is filed by a person. A customer whose certificate is missing or expired is set to taxable, if you choose, keyed by your team on the customer account in Spruce. Any tax to accrue is an entry a person posts.
What a week looks like.
- The workpaper is ready the morning after the period ends.
- Every exempt sale has a certificate behind it, or a name on the list of who doesn’t.
- Jurisdiction is the ship-to, not the branch, where the state says so.
- The auditor gets the invoice list behind every line, from the period it was filed.
Questions
Does it file the return?
No. It lays out the workpaper and the invoice list behind it. A person files, on the state’s site or through whoever files for you.
Does it change tax on invoices in Spruce?
No. If a sale should have been taxed, the workpaper says so and the controller decides whether to accrue the tax or bill it. Changes to a customer account are keyed by your team.
How does it know the jurisdiction?
From Spruce’s tax code on the invoice first, and from the ship-to address where the sale was delivered. A delivered sale taxed at the branch rate in a destination state is flagged.
What about certificates we already have on paper?
Point it at the folder. Each certificate is read for the customer, the type, the state and the expiry, and placed against that customer’s exempt sales.
What if we file in more than one state?
Each state gets its own workpaper, in that state’s order, from the same read. Nexus itself is a question for your accountant; the workpaper shows sales by state so the question has numbers.
Is this tax advice?
No. It is your invoices, your certificates and your tax codes laid out the way the return asks. The decisions are the controller’s and the accountant’s.
Does it need a server?
Lunica runs on one Windows server inside your network, or beside ECI’s hosted Spruce, set up and maintained by Lunica. It reads ECI Spruce through a read-only login to the Spruce SQL Server database. There is no inbound connection from outside your network.
What does Lunica read in Spruce?
The customer account, open items and terms, purchase orders and receipts, the item record, quotes and order history, as each workflow needs them. Read-only, and only the rows a task is about.
Can it post to Spruce?
Nothing lands in Spruce without a person. What belongs in Spruce goes back as a Spruce import where one exists, or keyed by your team from what Lunica prepared.
What about our documents?
Invoice copies and scans keep living in Spruce document imaging. Lunica reads them when a workflow needs one and never writes to them.
The same workflow, on another ERP.
Sales Tax Reporting is written for every system on the list. You’re reading the Spruce version.
See it on your Spruce data.
Thirty minutes. We walk the workflow on Spruce data, then map it to yours.