Collect QuickBooks credit memos in AWS Redshift
Load QuickBooks credit memos, invoices and customers into your own AWS Redshift cluster with a custom OWOX connector. Credits land next to the same customer's invoices, so net revenue per customer is computed, not argued about.
QuickBooks Endpoints
26 QuickBooks endpoints you can import. Each lands in its own table in your data warehouse.
A/P Aging Summary report
A/P Aging Summary as of report_date (window end): one row per vendor with aging buckets.
11 fieldsTime seriesA/R Aging Summary report
A/R Aging Summary as of report_date (window end): one row per customer with Current, 1-30, 31-60, 61-90, 91+ and Total columns.
11 fieldsTime seriesAccounts
Chart of accounts, active and inactive.
20 fieldsBalance Sheet report
Balance Sheet as of the run window end (Assets, Liabilities, Equity by account).
12 fieldsTime seriesBill payments
Payments against vendor bills; joins to Bill through Line[].LinkedTxn.
23 fieldsBills
Vendor bills (payables).
25 fieldsCash Flow report
Statement of Cash Flows for the run window.
12 fieldsTime seriesCompany info
One row per company: names, country, fiscal-year start.
15 fieldsCredit memos
Credits issued to customers (reduce receivables; negative revenue in reconciliations).
23 fieldsCustomers
Customers, including inactive ones and sub-customers, with open balance and a flattened billing address.
28 fieldsDeposits
Bank deposits, including the ones that group undeposited customer payments.
21 fieldsGeneral Ledger Detail report
General Ledger: every posting line per account for the run window, with opening balance and totals.
12 fieldsTime seriesInvoice changes (CDC, incl. deletes)
Change data capture for Invoice: every invoice created, updated or deleted since the run window start, full payload, deleted ones with status = Deleted.
9 fieldsTime seriesInvoices
Invoices with header amounts, customer and Line[] as JSON (SalesItemLineDetail.ItemRef, Qty, UnitPrice, Amount).
36 fieldsItems
Products and services with price, purchase cost and the three account links.
25 fieldsJournal entries
Manual and adjusting journal entries; the postings the transaction tables miss.
15 fieldsPayments
Customer payments.
21 fieldsPreferences
One row per company: home currency, multi-currency flag, fiscal-year and tracking settings.
17 fieldsProfit and Loss report
Profit and Loss per run window, one column per month (summarize_column_by=Month), rows nested by account group.
12 fieldsTime seriesPurchases
Expenses paid directly (cash, check, card) without a bill.
26 fieldsRefund receipts
Money refunded to customers.
26 fieldsSales by Customer report
Sales by Customer Summary for the run window.
12 fieldsTime seriesSales receipts
Sales paid at the time of sale (no receivable).
27 fieldsTransfers
Money moved between balance-sheet accounts.
16 fieldsVendor Expenses report
Expenses by Vendor for the run window.
12 fieldsTime seriesVendors
Vendors, including inactive ones, with open payable balance.
19 fields
Why look at credit memos beside the invoices they reverse
Revenue in QuickBooks is invoiced minus credited, and the two live on different records. Seeing which customers get the most credit needs invoices and credit memos in one warehouse, joined on the customer.
- Net revenue is invoices minus credit memos, per customer
- Credits can be set against refunds from the store
- A rising credit rate is visible before the close
Step 1: Connect QuickBooks and pick the fields
Create a Data Mart, choose QuickBooks as the source and authorize QuickBooks Online with OAuth. Add the company (realm) id, open an endpoint and tick only the fields you need.
- Credit memos mirrors Invoices: customer, dates, amounts and lines
- A custom connector: the credential and company id are yours
Step 2: Load QuickBooks into AWS Redshift
Each endpoint becomes its own table, and refresh settings are set in the Data Mart. Run it and the first load lands as a table in a schema of your own AWS Redshift cluster or workgroup. The location is pre-filled from your storage, and you can change it.
- Credit memos land in their own table in the Redshift schema
- Every run is logged in Run History
Step 3: Get a business-friendly QuickBooks output schema
After the first run you get the output schema: every field with its type. Key fields carry a plain description, and your quality checks can read it.
- Amounts stay in the transaction currency, with the exchange rate beside them
- id and realm_id identify a credit memo
Step 4: Keep the QuickBooks tables linked
Customers, invoices and credit memos stay separate tables, joined by customer_id. Together they give the net-revenue part of one QuickBooks model.
- Credit memos carry customer_id, as invoices do
- Add store refunds to the same model
Step 5: Schedule the QuickBooks refresh and backfill history
Set it once. A daily scheduled refresh keeps the tables current, and a manual backfill loads earlier periods.
- Daily runs with no pipeline to maintain
- Backfill credits for the periods under review
Step 6: Reuse the same QuickBooks table everywhere
One table feeds your model, , , assistants and scheduled insights in Slack or email.
- Define net revenue once
- Every report reads the same table
- 0.41.0Rotating a warehouse key is one change: Storages share reusable Credentials
- 0.41.0Dates from Google Sheets arrive as dates, not text
- 0.41.0Shared SQL logic stays in one place: build a Data Mart on top of another
- 0.41.0Rotating a connector key is one change: Sources share reusable Credentials
- 0.40.0Connecting a plan from Google Sheets takes fewer guesses
Why OWOX for QuickBooks in AWS Redshift
A credit memo list from QuickBooks is a list. OWOX makes credits a table you can join, in your own AWS Redshift.
- You own the data. It lands in your own data warehouse, in tables you control.
- Credits tied to the customer. Credit memos and invoices share customer_id, so net revenue per customer is one query.
- Built to extend. As a custom connector it can gain fields without a vendor roadmap.
- One place to fix. When QuickBooks's API changes, you publish one new connector version.
You are booked. The invitation is on its way to , with the calendar invite and the meeting link.