Integrations
How BizBooks Pro connects to your bank, your payment processor and your filing service — and why your accounting records still never leave your computer.
Overview
BizBooks Pro is desktop accounting software, which leads people to assume that everything has to be typed in by hand. It doesn't. Transactions arrive from your bank on their own, customers pay invoices by card, contractor filings are transmitted electronically, and your entire QuickBooks history can be carried across in one pass.
What makes this different from cloud accounting is direction. Outside data flows in. Your general ledger does not flow out.
How Connections Work
Understanding the mechanics helps when you are deciding what you are comfortable connecting.
- Your installation initiates every request. BizBooks Pro reaches out to fetch data. Nothing outside your network initiates a connection to your machine, and no port needs to be opened on your router.
- Credentials are handled by the provider. When you link a bank, you sign in on your bank's own secure screen. Those credentials are never typed into BizBooks Pro, never stored by us, and never transmitted through our systems.
- Only transaction data comes back. What returns is the activity itself — dates, amounts, descriptions, balances — which is written directly into the PostgreSQL database on your computer.
- Your books stay put. Journal entries, financial statements, customer records and invoices live in that local database. There is no synchronized copy of your ledger on a vendor's server.
What's Available Today
The following are shipping features in the current version. Anything not listed here is not yet available — see What's Coming.
Bank & Card Feeds
Link checking accounts, savings accounts and business credit cards so transactions download automatically. Smart matching proposes a category and the offsetting account for each one, turning data entry into review.
Detailed setup instructions, matching rules and troubleshooting are covered in Bank & Statement Import.
Stripe & PayPal Payments
Attach a pay-now option to your invoices so customers can settle by card or through PayPal. The accounting is handled for you: the payment is recorded against the invoice, the processor's fee is booked to an expense account, and the net deposit matches what actually hits your bank.
That fee split is the part most small businesses get wrong when processing payments outside their accounting system — revenue ends up recorded net of fees, which understates both income and expenses on your P&L.
Setup: โ๏ธ Company Settings โ ๐ณ Payment Gateway → Add Gateway. Enter your API keys from your Stripe or PayPal account, choose the deposit account and the fee expense account, then use Test Connection to confirm before going live.
1099 Electronic Filing
BizBooks Pro already knows what you paid each contractor over the year. The 1099 tool assembles the forms from that data and transmits them electronically through our filing partner, so you are not re-keying totals into a separate tax product every January.
Review the amounts on screen before anything is submitted. Contractor details come from your vendor records, so keeping tax IDs and addresses current during the year makes filing season considerably shorter.
QuickBooks Migration
Bring your chart of accounts, customers, vendors, employees and transaction history across from QuickBooks Desktop or QuickBooks Online. The importer suggests how each field should map and lets you correct it before a single record is written.
Statement Import
For institutions you would rather not link directly, or that aren't supported, import the statement file instead. CSV, Excel and PDF are all handled — and PDF statements are genuinely parsed into transactions rather than simply attached as a document.
Plenty of customers use this method permanently by preference, keeping no live connection to their bank at all.
Payroll Register Import
Keep running payroll wherever you run it today. Export the payroll register from Gusto, ADP or any provider that produces one, then import it so gross wages, employee withholdings and employer taxes post to the correct accounts.
Shopify
Connect a Shopify store and its orders, refunds and payouts are recorded in your books automatically. Setup starts on Shopify's side: install BizBooks Pro from the Shopify App Store and approve the connection there, choosing the store you want to link. Shopify then shows you a short connection code.
Back in BizBooks Pro, go to โ๏ธ Company Settings โ ๐ Integrations, click Connect on the Shopify card, and enter that code. That is the whole handshake — you are never asked to type your store address, and you only approve the connection once. The code lasts 72 hours; if it runs out, open the app again from your Shopify admin and a fresh one is issued.
Choose your accounts first
Before anything can be recorded you must tell BizBooks Pro where Shopify activity should post. Click Accounts on the connected card. We suggest accounts from your existing chart, but nothing is applied until you confirm — getting this wrong would misstate your revenue quietly rather than throwing an error, so it is worth thirty seconds of attention.
- Product sales and shipping charged to customers — income accounts
- Sales tax collected — a liability account, never income
- Shopify processing fees — an expense account
- Clearing account and the bank account payouts land in — see below
Why there is a clearing account
A Shopify payout is a single deposit covering many orders, minus the fees Shopify kept. If your books recorded both the orders and the deposit, your revenue would be counted twice. So orders post into a clearing account, and the payout moves that money into your bank:
- On each order: the clearing account is debited for the full amount the customer paid, split across sales, shipping and sales tax.
- On each payout: your bank is debited for what actually arrived, the fees are expensed, and the clearing account is credited for the total.
Once everything has settled, the clearing account returns to zero. That makes its balance a useful health check: if it is not zero after payouts have cleared, something needs looking at.
Refunds
Refunds and partial refunds are recorded as their own entries, reversing sales and returning the sales tax to the liability account. They also pass through the clearing account, because Shopify recovers the money out of a later payout rather than taking it from your bank directly.
Orders that are not recorded
If an order contains something BizBooks Pro cannot fully account for, it refuses to record it rather than guessing. A skipped order is a question you can answer; a wrong journal entry is a corrupted ledger. Common reasons:
- Sales tax was collected but no sales tax account is mapped
- The order is in a currency other than your books' currency
- The order includes a tip, duty or adjustment with no account mapped for it
- The amounts do not add up to what the customer paid — usually a gift card or store credit
Anything skipped appears on the Shopify card with the reason, and can be retried once you have fixed the cause. Check this occasionally: silently missing orders are the one thing that would make your books quietly wrong.
Square
Connect a Square account and every completed sale, refund and payout is written into your books. Setup is an ordinary Square sign-in: in โ๏ธ Company Settings โ ๐ Integrations, click Connect on the Square card, approve BizBooks Pro in the Square window that opens, then come back and click Finish connecting.
Where each part of a sale goes
Click Accounts on the connected card. Beyond the usual sales, tax and fee accounts, Square asks for two that Shopify does not, because a Square seller takes money in ways Square never pays out:
- Cash on hand — cash sales debit this account directly. They never touch the clearing account, since no payout will ever arrive to empty it.
- Payments taken outside Square — for "Other" tenders (a cheque, a third-party terminal). Optional; a sale using one is held until you choose where that money landed.
- Tips collected — a tip belongs to your staff, so it is kept out of sales. Map a liability account, or an income account if tips are yours.
- Service charges — an income account if you keep them, a liability if they are passed on.
An order paid partly by card and partly by cash is split across both accounts on one entry.
Payouts and fees
Square reports the processing fee on each payout, so the fee is expensed exactly — no estimate. The payout entry debits your bank for the net deposit, debits fees, and credits the clearing account for the gross. A payout where refunds exceeded sales runs the other way and is recorded as money leaving the bank.
Refunds
When you refund by item in Square, the return carries its own tax figure and the entry reverses sales and tax exactly. A refund of the whole sale is reversed in the sale's own proportions. A partial refund entered as a bare amount cannot be split between revenue and tax honestly, so it posts to a refunds and allowances account if you have mapped one, and is held for you otherwise. Refunds handed back in cash credit cash on hand, not clearing.
Inventory and cost of goods sold
On the Accounts screen, set "Should Square sales update your inventory?" to yes and each product sold through Square is deducted from your stock count. Its cost is booked to Cost of Goods Sold from your cost layers (FIFO, LIFO or average), exactly as when you invoice the item yourself, and itemized returns are added back. Revenue is always posted before stock, so a product BizBooks Pro cannot identify never delays a sale that really happened.
Square items are linked to your Products & Services by SKU first, then barcode, then exact name. Anything left unlinked appears under Skipped with a product picker: link it, click Save matches & update stock, and the stock moves now and on every future sale of that item. If you also enter these sales as BizBooks Pro invoices, leave this off so stock is not deducted twice.
For instance: a hardware store sells three boxes of screws at $8 that cost $3.20 each. The sale and its tax post as usual, the screw count drops by three, and $9.60 lands in cost of goods sold — gross profit is accurate the moment the sale syncs.
What is not recorded, and why
- Open or cancelled orders — nothing has been collected yet; the completed order arrives later.
- Sales in a currency other than your books' currency.
- A tip, service charge, cash or "Other" tender with no account mapped for it.
- A payout that arrives without its breakdown — retried, because the fee would otherwise be unknown.
Everything held appears under Skipped on the Square card with the reason, and can be retried after you fix the cause.
Jobber
Connect a Jobber account and your invoices, the payments against them and the jobs they came from are written into your books. In โ๏ธ Company Settings โ ๐ Integrations, click Connect on the Jobber card, approve BizBooks Pro in the Jobber window that opens, then come back and click Finish connecting.
BizBooks Pro only ever reads from Jobber. Nothing is written back, so nothing in Jobber can be changed by mistake — and there are no name-matching mismatches, invoice-numbering collisions or tax codes that have to exist first, because we are recording into your own books rather than creating records inside a ledger we do not control.
Profit for each job, not just an invoice total
Jobber's unit of work is the job, so that is what we tag. On the first sync a tracking category called Jobber Job is created, and every entry that comes from a job carries it — named the way your crew says it, like #1042 Spring cleanup. Filter the Profit & Loss to one job and you get its real profit: revenue from the Jobber invoice, materials from the bills you entered here, on the job number the crew already uses. An invoice covering several jobs is deliberately left untagged rather than credited to whichever job sorted first.
How to see it: go to Reports โ Income Statement, select the job from the Filter by Jobber Job dropdown in the report parameters, then click Refresh Report. It works on both cash and accrual basis. For a job's costs to show up, tag them: when you enter the bill or journal entry for that job's materials or subcontractor, set its Jobber Job field. Untagged costs still appear in your overall P&L — they just are not attributed to a job.
Where the money goes
Click Accounts on the connected card. One question decides the shape of everything else: do you collect card payments through Jobber Payments?
- Yes — card payments wait in a clearing account, and Jobber's payout empties it, with the processing fee expensed as Jobber reports it.
- No — payments go straight to your bank account, and no clearing account is mapped at all. This matters: forcing one on a business that takes cheques leaves it permanently non-zero, and it reads as a reconciliation error forever.
A business that does both is normal, so the decision is made per payment from the method Jobber reports — not once for the whole account.
Refunds
Jobber can only refund card payments it processed itself. For cash or a cheque, you refund the client directly and then, as Jobber advises, edit the original payment in Jobber to $0.00. BizBooks Pro notices the change and posts the difference back — the receivable returns to owing and the money leaves your bank — dated the day you made the change, so a closed period is never reopened. The original entry stays where it was, so your ledger keeps the history of what was recorded and when. The same handling covers an amount simply typed wrong and corrected later.
Customers
Jobber clients are matched to the customers you already have rather than duplicated. An email match is acted on; a name-and-postcode match is acted on; anything less certain is listed under Contacts on the card for you to confirm. Nothing is held up waiting for an answer — the money is still recorded, and the entry is attached to the customer once you decide.
What is not recorded, and why
- Draft invoices — nothing has been billed yet. The invoice is recorded when you issue it.
- A deposit taken against a quote — there is no receivable to relieve yet, so recording one would drive the balance negative out of nothing.
- Jobber's own ledger line for an invoice, which arrives looking like a payment but is not money received.
- Invoices in a currency other than your books' currency.
- A record deleted in Jobber before we could fetch it.
Everything held appears under Skipped on the Jobber card with the reason in plain English, and can be retried once you fix the cause.
Editing a mirrored invoice
Because the sync is one-way, editing an invoice here does not change it in Jobber. Jobber stays the system of record for your invoicing; make the change there and it flows through.
WooCommerce
Where to get the plugin
Grab bizbooks-pro-for-woocommerce.zip. In your WordPress admin choose Plugins โ Add Plugin โ Upload Plugin, select the file, install, then click Activate — WooCommerce needs to be running already. When the directory listing is approved you will be able to search for it by name inside WordPress and take updates automatically.
After activating, its settings page (WooCommerce โ BizBooks Pro) shows a ten-character connection code. In BizBooks Pro, open โ๏ธ Company Settings โ ๐ Integrations, click Connect on the WooCommerce card and enter the code. Your store address is never typed anywhere and no BizBooks Pro login is stored in WordPress.
From then on the plugin sends each order the moment it is paid, again if its status changes, and each refund when it is issued. Orders that arrive while your computer is off are held by our connection service for up to 30 days and recorded the next time BizBooks Pro starts.
Why the accounts are set up by payment method
WooCommerce is a storefront; it never holds your money. Stripe, PayPal, WooPayments or whichever gateway you use collects it and pays you out on its own schedule, net of its own fees — and WooCommerce does not know what those fees were. So the mapping asks one question per gateway your store uses: where does money from this method land?
- Card gateways (Stripe, PayPal, WooPayments, Square) — a clearing account. When the gateway's payout appears on your bank feed, record it against that account with the fee split out, and it returns to zero.
- Cash on delivery, cheque, bank transfer — your bank or cash account directly. The money is yours the moment you mark the order paid.
- Default — an account such as Undeposited Funds for any gateway you have not listed. Without a default, an order from an unmapped gateway is held rather than guessed.
Product sales, shipping charged, extra fee lines and tax each go to their own account; coupons can be shown as a separate discount line or netted into sales. Sales tax you collect is booked as a liability, never as revenue.
Enabling a new payment method after you have connected
Your list of gateways is reported when the plugin is first activated, so one you switch on later is a method BizBooks Pro has never heard of. Rather than filing it somewhere that looks reasonable, the first order through it is held, and the reason names the method. Open the WooCommerce account mapping and you will find that gateway already listed there — picked up from the held order — so choose its account, hit Retry, and the order records. No reinstall, no reconnect.
Refunds
A refund credits the same gateway account the sale debited. Refunds issued by line item reverse goods, shipping and tax exactly. A full refund entered as one amount is reversed in the order's own proportions. A partial refund entered as one amount is posted to a refunds and allowances account if you have mapped one, and held for you otherwise — refunding by line item in WooCommerce avoids the question.
Reinstalling or moving computers
Reinstalling the plugin, or connecting from a new computer, never duplicates anything already recorded. Request a new code from the plugin's settings page and connect again.
Clio
Connect Clio and every bill you issue, and every payment Clio records against it, is written into your books. In โ๏ธ Company Settings โ ๐ Integrations, click Connect on the Clio card, sign in to Clio in the window that opens, then click Finish connecting. BizBooks Pro asks Clio for read-only access — it never creates, edits or deletes anything in Clio.
How a bill posts
When a bill is issued (not while it is a draft), receivables are debited for the total and the parts are kept apart the way your accountant and your bar expect: legal fee income, disbursements recovered from clients, tax on services as a liability, interest if charged, and a courtesy discount shown separately or netted into fees. If the bill's parts do not add up to its total — a credit applied at issue, say — it is held with both figures rather than recorded wrong.
Payments
A payment from the client's own funds debits your operating bank account and clears the receivable, dated when Clio recorded it. Several payments against one bill are each recorded once, even if Clio notifies you about the bill several times.
Worth knowing how we tell: in Clio's own data a payment drawn from trust and one paid directly are indistinguishable on the payment record itself. BizBooks Pro reads the bank ledger behind the bill, where the transfer out of the trust account is recorded against that exact payment. If your Clio connection cannot see that ledger, no payment is posted at all until it can — we would rather hold a cheque payment for you to enter than put a client's trust money into your operating books without telling you.
Clients and matters
Before a bill posts, its client is matched to your customer list by email, then name. An exact match is linked; an unambiguous new client is created; anything doubtful is queued under Contacts on the Clio card for you to confirm — the bill still posts, and is attached once you answer. The bill's matter is linked to a BizBooks Pro matter, created from Clio's matter number if you have not set it up here, so a per-matter profit report is an ordinary filtered report. A bill spanning several matters is recorded but left untagged rather than credited to the wrong one.
Stripe Revenue & Payouts
This is not the Stripe card option on your invoices (that is set up under Payment Gateway Settings and records itself). This connector records everything else your business takes through Stripe โ website checkout, subscriptions, a storefront that runs Stripe โ and the payouts that settle it. Connect it from โ๏ธ Company Settings โ ๐ Integrations: click Connect on the Stripe Revenue card, approve BizBooks Pro in the Stripe window, then Finish connecting. The Stripe screen lists the standard permissions any connected app receives; BizBooks Pro uses them only to read charges, refunds and payouts, and never charges a card or moves money.
How it posts
- Each charge debits a Stripe clearing account for the gross and credits sales. If the charge belongs to a Stripe invoice, or came through Checkout with Stripe Tax, the tax portion is credited to your sales tax liability instead of revenue. A plain charge carries no tax information, so it is recorded entirely as sales โ if you charge tax on plain payments, tell us and we will show you the invoice path.
- Each refund reverses the sale (and its share of tax) and credits clearing, one entry per refund, so a second partial refund never repeats the first.
- Each payout debits your bank for the net deposit, expenses the fees exactly as Stripe's balance transactions report them, and credits clearing for the gross. When everything has settled, clearing returns to zero.
Keeping inventory in step with Stripe sales
The Accounts screen asks "Should Stripe sales update your inventory?" With it on, products sold through Stripe Checkout, Payment Links and Stripe invoices are deducted from stock and their cost is booked to Cost of Goods Sold using your costing method. BizBooks Pro finds each product by the SKU stored in the Stripe product's metadata, falling back to its name; any it cannot find is listed under Skipped so you can link it once. Plain card charges carry no item list and leave stock alone. Keep the option off if you also raise BizBooks Pro invoices for the same sales.
Not recorded, and why
- Authorised-but-uncaptured, pending or failed charges โ no money has moved.
- Charges in a currency other than your books' currency.
- A charge with tax on its invoice when no tax account is mapped.
- A payout that arrives without its balance transactions โ retried, because the fee would be unknown.
Zapier & Make
Connect BizBooks Pro to thousands of other applications without code. Nothing is typed into BizBooks Pro itself, and revoking the key in BizBooks Pro stops the tool the same minute.
Setting up Zapier
- Open the BizBooks Pro app on Zapier. Click this invitation link while signed in to your Zapier account. This is a one-off step that makes BizBooks Pro appear in your Zap editor; without it, searching for us returns nothing.
- Create an API key. In BizBooks Pro open โ๏ธ Company Settings โ ๐ API keys and create a key โ read for triggers, write if you also want actions. Copy it straight away; it is shown once and starts
bb_live_. - Build your Zap. Add BizBooks Pro as the trigger or action, and paste the key when it asks you to connect an account. A good connection shows your key's name and its permissions, like Zapier (read,write).
Setting up Make
- Add the BizBooks Pro app to your Make organisation. Open this invitation link while signed in to Make. As with Zapier, this is a one-off step; the app is not in Make's directory yet, so searching for us finds nothing.
- Create an API key under โ๏ธ Company Settings โ ๐ API keys, exactly as above.
- Build your scenario. Add a BizBooks Pro module and paste the key into the connection. A good connection shows the key's name and permissions.
Triggers
New invoice ยท Invoice paid ยท Payment received ยท New customer ยท New vendor ยท New bill. Each delivers the record as it exists in your books โ invoice number, customer, amounts, status, dates.
Actions
Create customer ยท Create vendor ยท Create invoice (with line items) ยท Create bill (with line items), plus Find action result to read the outcome of any of them.
What an action may do
Exactly what the key allows. A read-only key can drive triggers and searches but every create is refused; a write key can create the records above and nothing else. The same allow-list that governs direct API calls governs actions from Zapier and Make โ there is no back door.
Live Exchange Rates
Invoice in any of fifteen major currencies with the rate fetched automatically for the transaction date. A built-in converter is available for quick checks, and your base-currency reporting is reconciled underneath so the financial statements stay correct.
Security & Privacy
A few specifics worth stating plainly:
- Card details never touch our software. Payment entry uses the processor's own secure fields, which is what keeps you out of PCI scope.
- Bank credentials are never held by us. Authentication happens on your bank's own screen through the connection provider.
- Sensitive stored fields are encrypted using a key unique to your installation, generated on first run and never shared.
- Your ledger is not uploaded. Connections bring data in; they do not send your accounting records out.
Further detail is in Bank Connection Security.
What's Coming
These are being built and are not available today. We list them so you know where we are headed, not to imply they exist.
- Industry connections — Buildertrend and Procore for construction, dotloop for brokerages, Donorbox for non-profits.
Square is available now, from version 2.0.290; Stripe Revenue & Payouts from 2.0.299; Jobber from 2.0.301; Clio from 2.0.305; and WooCommerce from 2.1.4. WooCommerce's plugin comes from our own download until the WordPress.org review clears โ that affects where you fetch it, not what it does. Zapier and Make can both be used today by invitation โ neither is in its public directory yet, which changes only how you find them. The public API and webhooks are live today โ see the developer reference.
Requesting an Integration
Our build order comes from customer requests. If the tool you depend on isn't listed, submit it through the form on the Integrations page and it goes into the prioritization list. A person reads every submission.
Troubleshooting
A bank connection stopped importing
Banks periodically require you to re-authenticate, particularly after a password change or a security update on their end. Reconnect the account from the bank feed screen; historical transactions already imported are unaffected.
Test Connection fails on a payment gateway
Confirm you are using the correct key pair for the mode you selected — test keys with test mode, live keys with live mode. A test key checked into live mode is the most common cause. Also verify the key was copied whole, with no trailing space.
Payments succeed but the fee isn't recorded
The fee expense account must be selected in your gateway configuration. If it was left blank, set it in โ๏ธ Company Settings โ ๐ณ Payment Gateway; transactions recorded after that will split correctly.
An imported statement produced duplicate transactions
This usually means the same date range was imported twice, or the account has both a live feed and a manual import covering the same period. Review the affected date range and delete the duplicate batch — then pick one method per account going forward.