Quaderno integration
Quaderno handles sales tax, VAT and GST compliance and billing. Connect with your account name (the subdomain of your Quaderno URL, https://ACCOUNT_NAME.quadernoapp.com) and an API key as the username (quadernoapp.com, Profile, API Keys), with any non-empty password such as x. Calculate tax rates and validate tax IDs, record sales and refunds as transactions, issue and manage invoices, receipts, credit notes, proformas, recurring documents and expenses, record payments, email documents to customers, manage contacts, products, tax IDs, evidence, Quaderno Checkout sessions and coupons, Connect custom accounts and addresses, tax report requests and webhooks. Limit: 100 calls per 15 seconds. The routes follow API version 20241028; an account pinned to an older version (Profile, API Keys) may answer differently. The production host only: the sandbox (sandbox-quadernoapp.com) is not reachable through this connection.
Say what should happen.
The workflow builds itself.
What you can do with Quaderno
Each of these is one operation on one endpoint, available both as a workflow step and as a tool an AI agent can call on its own. Nothing bundles several operations into one action, so what a run did stays readable afterwards.
Most endpoints run on the free plan. A few, mainly the ones that publish on your behalf, need a paid plan.
Contact, 5 operations
create_contactCreate contactPOSTCreates a contact: a customer or vendor who appears on invoices, credit notes and expenses (name, email, address, tax ID: personal data). Returns the contact.delete_contactDelete contactDELETEPermanently deletes a contact. This action cannot be undone.list_contactsList contactsGETLists contacts, paginated and sorted by creation date (newest first).retrieve_contactRetrieve contactGETRetrieves the details of an existing contact.update_contactUpdate contactPUTUpdates a contact. Any parameters not provided will be left unchanged.
Coupon, 5 operations
create_couponCreate couponPOSTCreates a coupon: a code that applies a percent-off or amount-off discount to Quaderno Checkout sessions, optionally limited by max_redemptions and redeem_by. Returns the coupon.delete_couponDelete couponDELETEPermanently deletes a coupon. This action cannot be undone.list_couponsList couponsGETLists all coupons, sorted by creation date (newest first).retrieve_couponRetrieve couponGETRetrieves the details of an existing coupon.update_couponUpdate couponPUTUpdates a coupon. Any parameters not provided will be left unchanged.
Expense, 5 operations
create_expenseCreate expensePOSTRecords an expense: a cost your business incurred from a vendor contact, with its line items. Expenses appear in Quaderno's financial reports. Returns the expense.delete_expenseDelete expenseDELETEDeletes an expense permanently.list_expensesList expensesGETLists all expenses, paginated and sorted by creation date (newest first).retrieve_expenseRetrieve expenseGETRetrieves the details of an existing expense.update_expenseUpdate expensePUTUpdates an expense: send the fields to change (contact, items, dates, tags, notes...). Returns the updated expense.
Item, 5 operations
create_productCreate productPOSTCreates a product (a good or service, one-off or subscription) to use as a line item on invoices, credit notes, expenses and Checkout. Returns the product.delete_productDelete productDELETEPermanently deletes a product. This action cannot be undone.list_productsList productsGETLists all products, paginated and sorted by creation date (newest first).retrieve_productRetrieve productGETRetrieves the details of an existing product.update_productUpdate productPUTUpdates a product. Any parameters not provided will be left unchanged.
Recurring, 5 operations
create_recurring_documentCreate recurring documentPOSTCreates a recurring document that issues an invoice (or an expense) automatically on a schedule (recurring_period and recurring_frequency) from start_date until end_date.delete_recurring_documentDelete recurring documentDELETEDeletes a recurring document, so it stops generating invoices or expenses.list_recurring_documentsList recurring documentsGETLists the recurring documents (schedules that generate invoices or expenses), paginated and sorted by creation date (newest first).retrieve_recurring_documentRetrieve recurring documentGETReturns one recurring document: its schedule, contact, items, amounts and state.update_recurring_documentUpdate recurring documentPUTUpdates a recurring document: its schedule, contact, items, tags or notes. Returns the updated recurring document.
Session, 5 operations
create_sessionCreate sessionPOSTCreates a Quaderno Checkout session: the hosted payment page for one purchase (items, customer, success and cancel URLs). Send the customer to its permalink; Quaderno issues the invoice or receipt on completion.delete_sessionDelete sessionDELETEPermanently deletes a session. This action cannot be undone. Only `pending` sessions can be deleted.list_sessionsList sessionsGETLists all your Quaderno Checkout sessions, paginated and sorted by creation date (newest first).retrieve_sessionRetrieve sessionGETReturns one Checkout session: its status (pending, processing, completed, failed or abandoned), items, customer details and permalink.update_sessionUpdate sessionPUTUpdates a session. Any parameters not provided will be left unchanged. Only `pending` sessions can be updated.
Tax id, 5 operations
create_tax_idCreate tax idPOSTRegisters one of your business's tax IDs in a tax jurisdiction (jurisdiction_id from list_tax_jurisdictions). calculate_tax_rate only returns rates for jurisdictions where you are registered.delete_tax_idDelete tax idDELETEPermanently deletes a tax ID. This action cannot be undone.list_tax_idsList tax idsGETLists your registered tax IDs: the numbers issued by tax authorities in each jurisdiction where your business is registered to collect tax, with their validity dates.retrieve_tax_idRetrieve tax idGETRetrieves the details of an existing tax ID.update_tax_idUpdate tax idPUTUpdates a tax ID. Any parameters not provided will be left unchanged.
Webhook, 5 operations
create_webhookCreate webhookPOSTSubscribes a URL to Quaderno events (events_types such as invoice.created or payment.created). The URL must answer 200 OK to a HEAD request. Returns the webhook id; the URL and signing key are not echoed back.delete_webhookDelete webhookDELETEDeletes a webhook. This action cannot be undone.list_webhooksList webhooksGETLists your webhooks, newest first: id, events_types, events sent and last error. Their endpoint URLs (a URL can carry a token) and signing keys are not returned.retrieve_webhookRetrieve webhookGETReturns one webhook: id, events_types, events sent and last delivery error. Its endpoint URL (a URL can carry a token) and signing key are not returned.update_webhookUpdate webhookPUTUpdates a webhook's url or events_types (send at least one). Returns the webhook; its URL (a URL can carry a token) and signing key are not echoed back.
Account, 4 operations
create_custom_accountCreate custom accountPOSTCreates a Quaderno Connect custom account for one of your platform's sellers (Connect platforms only). The account's OAuth access token in the answer is stripped here as a secret.list_custom_accountsList custom accountsGETLists the Quaderno Connect custom accounts of your platform (Connect platforms only): business name, subdomain, country, currency, state and default tax settings. Their OAuth tokens are not returned here.retrieve_custom_accountRetrieve custom accountGETRetrieves the details of an existing Quaderno Connect custom account.update_custom_accountUpdate custom accountPUTUpdates the details of an existing Quaderno Connect custom account.
Address, 4 operations
create_addressCreate addressPOSTCreates a new address to be used on a Quaderno Connect custom account.list_addressesList addressesGETLists all addresses from a Quaderno Connect custom account, paginated and sorted by creation date (newest first).retrieve_addressRetrieve addressGETRetrieves the details of an existing address.update_addressUpdate addressPUTUpdates a address. Any parameters not provided will be left unchanged.
Credit, 4 operations
create_creditCreate creditPOSTIssues a credit note against an existing invoice, fully or partly, and records the refund. Its amounts, lines and customer cannot change afterwards (update_credit edits only tags, notes, payment details and metadata): void_credit corrects it.list_creditsList creditsGETLists all credit notes, paginated and sorted by creation date (newest first). Credit notes are used to cancel or partially refund an invoice.retrieve_creditRetrieve creditGETRetrieves the details of an existing credit note. You need only supply the unique identifier returned upon creation.update_creditUpdate creditPUTUpdates an existing credit note. Once finalized, credit notes are legally immutable, tax law prohibits altering amounts, line items, or customer details.
Deliver, 4 operations
deliver_creditDeliver creditGETEmails the credit note to its customer now (a real email, with the account's template and language); the contact needs a valid email address. Returns no body; the delivery is recorded in deliveries.deliver_invoiceDeliver invoiceGETEmails the invoice to its customer now (a real email, with the account's template and language); the contact needs a valid email address. Returns no body; the delivery is recorded in deliveries.deliver_proformaDeliver proformaGETEmails the proforma to its customer now (a real email, with the account's template and language); the contact needs a valid email address. Returns no body; the delivery is recorded in deliveries.deliver_receiptDeliver receiptGETEmails the receipt to its customer now (a real email, with the account's template and language); the contact needs a valid email address. Returns no body; the delivery is recorded in deliveries.
Evidence, 4 operations
create_evidenceCreate evidencePOSTRecords location evidence for a sale (document_id: its invoice): billing_country, ip_address, bank_country. EU VAT on digital services needs two non-conflicting pieces of evidence per sale.list_evidenceList evidenceGETRetrieves the list of evidence objects, paginated and sorted by creation date (newest first).retrieve_evidenceRetrieve evidenceGETReturns one evidence record: the location signals stored for a sale (billing country, IP address, bank country), its state (unsettled, conflicting or confirmed) and the related document.update_evidenceUpdate evidencePUTUpdates an evidence record (location signals of a sale or its state); parameters left out keep their current values.
Invoice, 4 operations
create_invoiceCreate invoicePOSTIssues a new invoice (a legal tax document) for a contact and line items. With payment_method set, a full payment is recorded and the invoice is marked paid at once. Returns the invoice with its pdf and permalink.list_invoicesList invoicesGETLists all invoices, paginated and sorted by creation date (newest first).retrieve_invoiceRetrieve invoiceGETRetrieves the details of an existing invoice. You need only supply the unique invoice identifier that was returned upon invoice creation.update_invoiceUpdate invoicePUTUpdates an existing invoice. Once finalized, invoices are legally immutable, tax law prohibits altering amounts, line items, dates, or customer details on issued invoices.
Proforma, 4 operations
create_proformaCreate proformaPOSTCreates a proforma: a preliminary document (a quote) for a contact and line items, before a sale is confirmed. It can later be accepted, declined or converted into an invoice.list_proformasList proformasGETLists all proformas, paginated and sorted by creation date (newest first).retrieve_proformaRetrieve proformaGETRetrieves the details of an existing proforma.update_proformaUpdate proformaPUTUpdates an existing proforma. Accepted and invoiced proformas cannot be modified.
Receipt, 3 operations
create_receiptCreate receiptPOSTIssues a receipt for a completed, paid sale (payment_method is required). Receipts cannot be updated or deleted afterwards: void_receipt is the only correction. Returns the receipt.list_receiptsList receiptsGETLists all receipts, paginated and sorted by creation date (newest first). All receipts are paid by definition.retrieve_receiptRetrieve receiptGETRetrieves the details of an existing receipt.
Request, 3 operations
create_report_requestCreate report requestPOSTRequests a tax report (tax_summary, invoices_list or credits_list) for a date range. The file is ready some minutes later: read report_url with retrieve_report_request once state leaves pending.list_report_requestsList report requestsGETLists your report requests (tax_summary, invoices_list or credits_list), each with its state and report_url once the report is built.retrieve_report_requestRetrieve report requestGETReturns a report request: its state (pending until the report is built; the spec spells the success state suceeded, else failed) and report_url, the download link once built.
Void, 3 operations
void_creditVoid creditPUTVoids a credit note, effectively canceling it. Tax law prohibits deleting credit notes, voiding is the only way to reverse one. A `void_reason` is required for audit purposes. Voiding reopens the original invoice if it was closed by this credit note.void_invoiceVoid invoicePUTVoids an invoice by creating a credit note with the given reason; a pending invoice is marked paid through an offset payment. Irreversible: tax law forbids deleting invoices.void_receiptVoid receiptPUTVoids a receipt by automatically issuing an offsetting credit note. Tax law prohibits deleting receipts, voiding is the only way to reverse a completed transaction. A `void_reason` is required for audit purposes.
Jurisdiction, 2 operations
list_tax_jurisdictionsList tax jurisdictionsGETLists the tax jurisdictions Quaderno supports (countries, states and provinces where specific tax rules apply): id, name, country and region.retrieve_tax_jurisdictionRetrieve tax jurisdictionGETRetrieves a tax jurisdiction (area subject to its own tax regulations).
Payment, 2 operations
record_credit_paymentRecord credit paymentPOSTRecords a payment against a credit note. When the total payments reach the credit note amount, it is automatically marked as paid.record_invoice_paymentRecord invoice paymentPOSTRecords a payment against an invoice. When the total payments reach the invoice amount, the invoice is automatically marked as paid.
Tax code, 2 operations
list_tax_codesList tax codesGETLists the tax codes Quaderno supports (for example eservice, ebook, saas, consulting, standard, reduced, exempt), with name and explanation; use one as tax_code in calculate_tax_rate.retrieve_tax_codeRetrieve tax codeGETRetrieves a tax code, which classify goods and services for tax purposes.
Accept, 1 operation
accept_proformaAccept proformaPUTMarks a proforma as accepted by the customer. Only proformas in "outstanding" or "late" state can be accepted.
Calculate, 1 operation
calculate_tax_rateCalculate tax rateGETCalculates the tax rate for a sale from the customer's location (to_country required) and the product: returns the rate, tax name, status (taxable, non_taxable, not_registered or reverse_charge) and amounts. Only registered jurisdictions get a rate.
Convert, 1 operation
convert_proformaConvert proformaPUTConverts an accepted proforma into an invoice. The proforma state transitions to "invoiced" and a new invoice is returned. Only proformas in the "accepted" state can be converted.
Decline, 1 operation
decline_proformaDecline proformaPUTMarks a proforma as declined by the customer. Only proformas in "outstanding" or "late" state can be declined.
Mark uncollectible, 1 operation
mark_invoice_uncollectibleMark invoice uncollectiblePUTMarks an invoice as uncollectible (you have decided it will not be paid); its state becomes uncollectible. Returns the updated invoice.
Ping, 1 operation
pingPingGETChecks the API key and account name: returns status ok when they are valid. Quaderno does not count it as a real API call.
Revert, 1 operation
revert_proformaRevert proformaPUTReverts a proforma back to "outstanding" from "accepted" or "declined". Invoiced proformas cannot be reverted.
Transaction, 1 operation
create_transactionCreate transactionPOSTRecords a sale or a refund in Quaderno, which issues the tax document: a sale returns the new invoice (with pdf and permalink), a refund returns the credit note. Tax is taken from each item's tax object.
Validate, 1 operation
validate_tax_idValidate tax idGETValidates a tax ID registered in a country: valid is true (a valid tax ID, meaning it represents a business), false (invalid) or null (the external validation service is temporarily unavailable).
Use Quaderno from Claude Code, Cursor or Codex
Connect Quaderno in LiveContext, create an API key in Settings, then add the LiveContext MCP server to your client. Its Quaderno operations become tools the client can call, next to every other integration you connected.
claude mcp add --transport http livecontext https://livecontext.ai/mcp --header "X-API-Key: YOUR_API_KEY"[mcp_servers.livecontext]
url = "https://livecontext.ai/mcp"
[mcp_servers.livecontext.http_headers]
"X-API-Key" = "YOUR_API_KEY"{
"mcpServers": {
"livecontext": {
"type": "http",
"url": "https://livecontext.ai/mcp",
"headers": {
"X-API-Key": "YOUR_API_KEY"
}
}
}
}How to connect Quaderno
- Create your workspace
Sign up free. Nothing to install.
- Connect Quaderno once
Add your Quaderno connection in Settings. Every tool from this integration reuses it, and secrets are encrypted at rest and visible only to you.
- Describe the job in chat
The workflow builds itself in front of you and picks the endpoints it needs. Drag the steps yourself on the canvas whenever you would rather be explicit.
Quaderno integration FAQ
What can you do with the Quaderno integration?
LiveContext exposes 92 operations on Quaderno, covering contact, coupon, expense and item.
