About This Plugin
The QBO Dashboard is a private, internal WordPress plugin that gives bookkeepers and account managers a single wp-admin surface for running a QuickBooks Online file. It replaces a legacy desktop app and a Coda-based manual entry workflow with a focused interface that writes directly to QBO and optionally mirrors a comment into BluePM for project-level visibility.
It was built for RapidPage’s QuickBooks Online file at billing.diyb.ca, where staff need live views of recurring invoice templates, customer balances, and open invoices — plus the ability to create customers, build invoices, and record payments without leaving wp-admin. Every write is captured in a local audit log so there’s a permanent record of what this dashboard sent to QBO, who sent it, and when.
Features
- Live Recurring view with problem highlighting for misconfigured invoice templates
- Live Customers list with an Add Customer form that writes directly to QBO
- Live Open Invoices table with multi-select payment allocator, per-row PDF download, and Copy Payment Link icons
- Create Invoice form with per-line Class + Tax Code stamping (required for Canadian HST/GST to calculate correctly in QBO)
- Record Payment form with allocator that splits a single payment across multiple open invoices; deposits to Undeposited Funds for later bank matching
- Test Mode on both Create Invoice and Record Payment — full dry-run that exercises the BluePM mirror against a test record without writing anything to QBO
- Optional BluePM mirror — after a successful QBO write, posts a comment to the corresponding BluePM record with the transaction details and an @mention
- Local audit log of every invoice and payment created via the dashboard, with customer filter, credit-memo styling, and Created By tracking
- One-shot Coda Migration tool that imports legacy Manual Payments and Manual Invoices into the local audit tables (already used to migrate 42 payments + 12 invoices)
- QBO OAuth2 with automatic token refresh — access tokens refresh within 5 minutes of expiry on every API call
- CSV export mirroring the QBO Outstanding Invoices report
- In-product help — every page has a ? Help button that opens a modal with purpose, data source, how to use, Test Mode notes, what syncs where, data freshness, troubleshooting, and quirks
- Help overview page with an index of every page, typical workflows (record a payment / add a recurring customer / create an invoice), glossary, and first-time setup checklist
- Front-end gate that redirects non-logged-in requests on billing.diyb.ca to wp-login — this is a private admin-only tool, not a public website
- View Details link on wp-admin → Plugins, powered by the shared
DIYB_Plugin_Infoclass and a WP.org-formatreadme.txt
What’s New in Version 0.7.x
Front-end gate
Front-end requests on billing.diyb.ca now redirect to wp-login.php with a return URL back into wp-admin. The dashboard is an internal staff tool, not a public website — the front-end gate makes that explicit and removes a confusing experience for anyone who lands at the root URL.
In-product help on every page
Every admin page now has a ? Help button next to its title that opens a modal with full guidance: purpose, where the data comes from, how to use the page, Test Mode notes (where applicable), what syncs where, data freshness, troubleshooting, and quirks. A new Help menu item provides a single-page overview with typical workflows, a glossary (Undeposited Funds, Class, Tax Code, Credit Memo, BluePM mirror, Test Mode, Audit row), and a first-time setup checklist.
View Details on the Plugins page
The plugin row on wp-admin → Plugins now has a working View details link that opens a thickbox with the readme content. WordPress only auto-renders this for plugins it finds on wordpress.org — this plugin uses a shared DIYB_Plugin_Info class that forces the link to appear and parses the local readme.txt into the right shape for the thickbox.
Full Changelog
0.7.x — In-product help on every page; Help overview page with workflows, glossary, and setup checklist; WP.org-format readme.txt; View Details thickbox on wp-admin → Plugins (via shared DIYB_Plugin_Info class); refactor to canonical shared class at _shared/diyb-plugin-info/ alongside five other DIYB plugins; front-end gate that redirects non-logged-in requests to wp-login.
0.6.2 — Create Invoice form: wider panel (1100px), Invoice Date + Due Date now share a row, Class + Tax Code now share a row. Class + Tax are now applied per-line to every line item; QBO requires per-line tax for Canadian HST/GST to calculate reliably.
0.6.x — Class and Tax Code fields added to Create Invoice; payments now deposit to Undeposited Funds (account 5) by default; line-item layout fixed.
0.5.x — Test Mode — dry-run Test Mode toggle on Create Invoice and Record Payment; local audit rows for test runs flagged blue_status=test for easy cleanup.
0.5.x — Coda Migration — one-shot Coda → local audit table migration; 42 payments + 12 invoices imported and attributed to the operating user; idempotent on re-run.
0.5.x — Invoices · Open — multi-select payment allocator; per-row PDF download and Copy Payment Link icons; CSV export mirroring the QBO Outstanding Invoices report; Invoice History page (local audit).
0.4.x — Add Customer — first write path live; new customers go directly to QBO.
0.3.x — Live read views — Recurring, Customers, and Open Invoices pages now query QBO live (no caching). Click-to-sort on every column. Recurring page surfaces configuration problems (missing schedule, zero amount, missing class).
0.2.x — Phase 1 scaffold — pivoted from a Node stub to a WordPress plugin after the decision to host the dashboard at billing.diyb.ca/wp-admin.
About Doorways Into Your Business
Doorways Into Your Business (DIYB) is a digital agency based in Kingsville, Ontario, Canada. We help small businesses and non-profit organizations build and grow their digital presence through WordPress development, custom plugin solutions, API integrations, and business automation.
We specialize in practical, purpose-built tools — like this one — that solve real operational problems for the organizations we work with. The QBO Dashboard is one of several internal tools we maintain for our own bookkeeping and client billing workflows.
- Website: diyb.ca
- Email: paul@diyb.ca
Support
This is a private internal plugin and is not distributed via wordpress.org. For support, feature requests, or to report a problem, contact Paul Hughes at paul@madeitin.ca or visit diyb.ca.
