The Scenario
Your billing administrator came in this morning to a bank export sitting in their inbox: 70 payment references matched against Quaderno invoice IDs, each with an amount, a date, and a payment method. The payments need to be recorded against the right invoices in Quaderno today so the accounts receivable report reflects reality. The sheet is already formatted: column A is invoice ID, column B is payment amount, column C is payment date, column D is payment method. It needs to become 70 Quaderno payment records by end of day.
The bad version:
- Open Quaderno, find the first invoice by ID, click Record Payment, enter the amount, set the date, choose the payment method from the dropdown, click save, copy the payment ID, switch back to the sheet, paste it into column E
- Repeat 69 more times
- Discover at record 45 that three invoices in the sheet have already been fully paid in Quaderno (someone recorded them manually last week) and you've now created duplicate payment records against them
Accounts receivable reports built on duplicate payment records are not reliable. And the controller needs the updated AR report before the 3 PM call.
The Easy Way: One Prompt in SheetXAI
SheetXAI is an AI agent inside your Google Sheet that reads your payment data and records each payment against the right Quaderno invoice.
For each row in this sheet, record a payment in Quaderno against the invoice ID in column A — amount in column B, date in column C, payment method in column D — write the payment ID to column E
What You Get
- One payment record is created in Quaderno per row, matched to the invoice ID in column A
- The returned payment ID writes to column E as each record completes
- Invoices that are already fully paid are flagged in column F as Already Paid rather than creating a duplicate record
- Dates in column C are normalized to the format Quaderno expects regardless of how the bank export formatted them
What If the Data Is Not Quite Ready
The payment method values in column D don't match Quaderno's accepted values
Before recording payments, map the values in column D to valid Quaderno payment methods: Wire Transfer maps to wire_transfer, ACH maps to ach, Credit Card maps to credit_card — update column D with the mapped values, then record each payment against the invoice ID in column A using amount in B and date in C, write the payment ID to column E
Some rows have partial payments — the invoice balance remains after this payment
Record each payment in this sheet against the Quaderno invoice in column A using amount from B, date from C, method from D — after recording, write the remaining balance on the invoice to column F
I need to skip rows where the payment date is before the invoice issue date
For each row in this sheet, record a Quaderno payment against the invoice in column A only if the date in column C is on or after the invoice issue date — write the payment ID to column E for successful records and Date Error to column F for skipped rows
Record all payments, flag duplicates, and generate the updated AR summary in one pass
For each row: record a payment in Quaderno against invoice ID in A using amount in B, date in C, method in D; if the invoice is already paid, write Duplicate to column F; otherwise write the payment ID to column E; then compute total payments recorded (sum of column B for successful rows) and write it to cell H1
Try It
Get the 7-day free trial of SheetXAI and open the Google Sheet where your bank export lives, then ask it to record all 70 payments in Quaderno before the afternoon AR review. Also see: pulling invoice reports into a sheet, and the hub overview of all Quaderno connection methods.
