Create and apply credit memos
This guide walks through issuing a Credit Memo and applying it to reduce an open invoice balance using the Tabs API. Credit memos reduce the amount a customer owes without collecting cash. Use them to correct a billing error, apply a post-invoice discount, or extend a goodwill credit.
By the end of this guide, you have a credit memo applied to an open invoice with the balance updated in Tabs and synced to your connected ERP.
Before you begin
You need:
- At least one invoice in the
SENTorPARTIALLY_PAIDstatus with a balance to reduce - The ID of the invoice line item you’re crediting, or an Item configured in Tabs to use as the credit memo line.
Step 1: Find the invoice line item to credit
If the credit memo is correcting or adjusting a specific line on an existing invoice, retrieve the invoice to get the line item ID. You’ll use it when creating the credit memo in Step 2.
Tabs returns the Invoice object. Locate the line item to credit in the lineItems array and save its id as {lineItemId}:
If the credit is not tied to a specific invoice line—for example, a goodwill credit or a standalone adjustment—skip this step and use an Item ID instead. See Issue a standalone credit below.
Step 2: Create the Credit Memo
Create a Credit Memo for the customer with one or more line items describing the credit.
Tabs returns the created Credit Memo:
Save the creditMemoId—you’ll use it as {creditMemoId} in the next step.
Tabs creates the credit memo in your connected ERP automatically. The syncStatus field reflects the ERP sync state: NOT_SYNCED while the credit memo is pending, SYNCED once it’s written.
Step 3: Apply the credit memo to an invoice
Apply the credit memo to the open invoice to reduce its balance. Pass the invoice ID and the amount to apply. This API call returns an empty payload, but Step 4 describes how to check the updated invoice balance after the credit is applied.
Tabs reduces the invoice’s balanceRemaining by the applied amount and updates its status:
Some ERPs may not allow partial applications of credit memos due to restrictions on their API. Look out for an error message from the ERP if this occurs.
The applied amount cannot exceed the invoice’s balanceRemaining or the Credit Memo’s remaining balance. Tabs returns a validation error if either limit is exceeded.
Step 4: Verify the invoice balance
Retrieve the invoice to confirm the updated balance and status:
Tabs returns the invoice with the updated fields:
If the credit fully covers the balance, the status is DONE and paidOn is set to the date the balance reached zero.
Issue a standalone credit
If the credit is not tied to a specific invoice line item—for example, a goodwill credit or a fee waiver—use an Item ID instead of invoiceLineItemId. Items are configured in the Tabs app and map credits to the correct ERP account.
Look up your available items:
Then create the credit memo using itemId:
Apply the credit memo to an invoice using the same POST /v3/credit-memos/{creditMemoId}/applications call from Step 3.
Apply a credit memo across multiple invoices
A single credit memo can be applied to more than one invoice. After the first application, check the credit memo’s remaining balance and apply the remainder to another invoice as needed. To check the balanceRemaining, post a GET request to return the applications. Then use the sum of the applications to determine the credit memo’s remaining balance.
Retrieve the credit memo to see how much is left to apply:
The applications array shows all prior applications and their amounts. Apply the remaining balance to another invoice:
Repeat until the credit memo reaches the APPLIED status, at which point its full balance has been allocated.
Credit memo status updates automatically as you apply it: OPEN (unapplied) → PARTIALLY_APPLIED (some balance used) → APPLIED (fully used).
List credit memos
To retrieve all credit memos for a customer or filter by status:
Supported filter fields: customerId, status, creditMemoNumber, issueDateFrom, issueDateTo, lastUpdatedAt.

