We were spending about $7,000 a year to get our tax work done, and we still did not know what we owed until year end. Before anyone could prepare the return we had to collect receipts, close invoices, and reconcile data spread across Stripe, Square, our banks, credit cards, and payroll.
We needed one system that could:
- keep the receipt required for every GST/HST input tax credit;
- close invoices when the matching payment arrived;
- split Stripe and Square payouts into sales, taxes, tips, and fees;
- connect every bank and credit-card account;
- track tax paid through purchases and payroll;
- track HST collected, input tax credits, and HST remittances; and
- show the amount owing throughout the year.
We looked at building on QuickBooks first. API access requires an application and approval, and once you have it there is no reconciliation endpoint. You can read and write transactions but you cannot reconcile an account through the API, and reconciliation is the step that proves the books against a bank statement. That was the part we most needed to automate.
We also wanted the books to be transparent: every number traceable to the record behind it, and every change attributable to whoever made it.
A Square deposit is not revenue. It can include sales, HST, and tips, less processing fees. Equated records those parts separately and tracks the HST until it is remitted. Stripe payouts are handled the same way. Once that data was in one ledger we could see revenue recognition clearly and give accounting agents access through MCP.
Agents prepare the work and people approve changes to the books. We learned why the hard way: an agent matching three months of Shopify Ads receipts to card charges went one slot off on the first match and stayed off for ninety of them, and QuickBooks accepted every one. In Equated a person or an agent can propose a match, but nothing posts until someone confirms it. If there is no reliable match, the receipt stays unmatched.