The Scenario
It's the last working day of the month. You run a small agency and your Excel workbook has 80 rows in the Billing worksheet — one per client project delivered this month. Column A holds the Quaderno contact ID, column B has the service description, column C has the amount in USD. You need all 80 invoices created in Quaderno before midnight, because your payment terms start the clock from issue date.
The bad version:
- Open Quaderno, click New Invoice, paste the contact ID from column A, type the description from column B, enter the amount from column C, set the currency, click save, copy the invoice number, switch back to the workbook, paste it into column D, move to row 2
- Repeat 79 more times, tracking your place in the worksheet with a finger on the screen because you keep losing it when you tab back from Quaderno
- Hit row 55 and realize three contact IDs back you copied the amount from the wrong row — two clients now have invoices for each other's project totals
You were hired to run client work. Month-end invoicing should not take until midnight.
The Easy Way: One Prompt in SheetXAI
SheetXAI is an AI agent inside your Excel workbook that reads your data and talks to Quaderno on your behalf. You describe the task; it handles the API calls.
Create a Quaderno invoice for each row in the Billing worksheet — column A is contact ID, column B is product description, column C is unit price in USD — write the returned invoice number to column D
What You Get
- Quaderno creates one invoice per row using the contact ID, description, and amount from that row
- The returned invoice number writes back to column D as each invoice completes
- Any row with a missing or malformed contact ID is flagged in column E with a short error note, leaving the rest unaffected
- You end up with a complete audit trail in the workbook — every row either has an invoice number or a clear reason why it doesn't
What If the Data Is Not Quite Ready
The currency column is mixed — some rows are USD, some are EUR
Create a Quaderno invoice for each row in the Billing worksheet — column A is contact ID, B is description, C is amount, D is currency code (USD or EUR) — write the invoice number to column E
Some contact IDs are missing and I need to look them up from a Clients worksheet first
For each row in Billing where column A is blank, look up the contact ID in the Clients worksheet using the company name in column F, then fill column A, then create the Quaderno invoice and write the invoice number to column D
I only want to invoice rows where the status in column E is "Approved"
Create Quaderno invoices only for rows in the Billing worksheet where column E says Approved — use contact ID in A, description in B, amount in C — write the invoice number to column D
Clean up, invoice, and flag anything that needs follow-up in one pass
For each row in Billing: if column E is Approved and column A has a valid contact ID, create a Quaderno invoice using B for description and C for amount, write the invoice number to D; if column E is not Approved or column A is blank, write Needs Review to column F
The pattern is to ask for the conditional logic and the action together. SheetXAI evaluates each row and acts accordingly rather than requiring you to pre-clean the workbook.
Try It
Get the 7-day free trial of SheetXAI and open the Excel workbook where you track client billing, then ask it to push the approved rows to Quaderno. Also worth reading: how to pull a Quaderno invoice report into an Excel workbook, and the hub overview of all Quaderno connection methods.
