Skip to main content

Record payments and apply store credit

Once an order carries a balance, you collect against it: record what the customer pays, apply any store credit they're carrying, and record refunds when money goes back. Every one of these lives on the order's Payments tab and keeps the order's payment status honest as you go.

Before you begin

RequirementWhy it matters
The Manage payments permission (sales_orders.manage_payments)Without it, the Record Full Payment, Add Payment, and Apply Store Credit buttons don't appear, and the row actions are hidden.
A balance due on the order (amount due above zero)The collection buttons only show while there's something left to collect. Approving the order first — to Open or Reserved — is the normal flow, but SKU.io doesn't hard-block payments on a draft: the buttons gate on the balance and your permission, not on the order status. See Approve, reserve, and allocate stock.
At least one payment type exists (Cash, Card, ACH, …)Every payment needs a type. You can create one inline from the payment dialog, or set a default under Settings → Sales Orders.
For store credit: the customer has an open sales credit with a positive balanceStore credit is an unallocated sales credit. Issue one first via Process returns: RMAs and credits if the customer has none.

The examples below use order SO-DOCS-0001 for customer Blue Bottle Retail (currency USD).

Understand amount due

Open SO-DOCS-0001 and select the Payments tab. The figures you'll work against are:

Amount due = order total − payments recorded − store credit applied.

The Amount due drives everything on this tab: Record Full Payment shows the exact figure, the quick-amount buttons in the payment dialog are percentages of it, and the store-credit dialog caps each credit at the remaining balance. When amount due reaches zero, the order's payment status flips to Paid and the collection buttons disappear.

Payment status moves on its own axis

Recording a payment changes only the order's payment status (unpaid → partially paid → paid). It doesn't approve, fulfill, or close the order — those are separate. See How sales order status works for why the three status axes move independently.

Record a payment

  1. On the Payments tab, click Add Payment, then Record Payment (for cash, check, ACH, and the like).
  2. In the Add Payment dialog, leave the toggle on Payment.
  3. Enter the Amount. Use a Quick amount button — 25%, 50%, or Full Amount — to fill it from the amount due, or type a figure directly.
  4. Choose a Payment Type. Search the list, or type a new name and select Create payment type to add one without leaving the dialog.
  5. Set the Payment Date if it isn't today, and add an optional Reference (a transaction ID, check number, or the like).
  6. Click Add Payment.

What you'll see: the payment appears in the Payments table with a Received status, the amount due drops by that amount, and the order's payment status recalculates (to Partially paid, or Paid once the balance clears).

Record the full outstanding balance in one click

When you're collecting the whole balance at once, skip the dialog:

  1. Click Record Full Payment ($…) at the top of the Payments tab. The button shows the current amount due.
  2. SKU.io records a payment for the full amount using your default payment type.
Set a default payment type first

Record Full Payment needs a default payment type. If none is configured, SKU.io tells you to set one under Settings → Sales Orders and opens the Add Payment dialog so you can pick a type by hand for this one.

Record a refund

Refunds run through the same dialog with the toggle flipped:

  1. Click Add Payment, then Record Payment.
  2. Switch the toggle from Payment to Refund.
  3. Enter the amount to return and choose a Payment Type, then click Add Payment.

SKU.io records the refund (as a negative payment), raises a Refund sales credit for the amount, and updates the order's payment status.

A refund can't exceed what's been paid

You can only refund up to the total already paid on the order. A larger figure is rejected with "The amount of refund exceeds the total payment…". Record the payments first, then refund against them.

A full refund also closes the order

When a refund brings the order to fully refunded, the payment status becomes Refunded and the order is closed at the same time — the one payment change that also ends the order's lifecycle. See How order financials flow to accounting.

Overpayments become store credit

If you record a payment larger than the amount due, SKU.io doesn't reject it — it accepts the full amount, then turns the excess into an Overpayment sales credit for the customer. That credit is theirs to apply to a future order (see Apply store credit below). The only hard stop is an order that's already fully paid: SKU.io rejects another positive payment against it with "The selected sales order has been fully paid."

Apply store credit

If Blue Bottle Retail is carrying open store credit, you can put it toward this order instead of collecting cash. When credit is available and there's a balance due, a Store credit available banner and an Apply Store Credit button appear on the Payments tab.

  1. Click Apply Store Credit (on the banner or in the Payments header).
  2. In the Apply Store Credit dialog, review Balance Due at the top. Each of the customer's open credits is listed with its Credit #, date, and remaining Balance.
  3. Select one or more credits with the checkbox. For each, set the Amount to Apply, or click Max to apply as much of that credit as the balance allows.
  4. Watch Total Selected — it must not exceed the balance due. If it does, the dialog warns "Selected amount exceeds the order balance due" and the Apply button stays disabled.
  5. Click Apply ($…).

What you'll see: each applied credit appears in the Payments table as a Store Credit row with an Applied status, links to its sales credit, and reduces the amount due exactly like a cash payment.

No credit, no button

The Apply Store Credit button and banner only show when the customer has at least one open sales credit with a positive balance. If the customer has none, the dialog reads "No Open Credits" — issue a credit first via Process returns: RMAs and credits.

Unapply a store credit

To take a credit back off the order and return it to the customer's open balance:

  1. Find the Store Credit row in the Payments table.
  2. Click Unapply on that row and confirm.

The allocation is reversed, the credit's balance is restored, and the amount due goes back up.

Edit or delete a payment

  • Edit — reopen a payment to correct its amount, type, date, or reference. Credit-created payments keep their type locked, since SKU.io created them.
  • Delete — remove a manually recorded payment with the delete (trash) icon on its row, then confirm. The amount due and payment status recalculate.
Editing an amount can't overshoot the order's balance

Raising a payment is capped at what the order still has outstanding (its own current amount is added back first, so you can always keep or lower it). Push it higher and the edit is rejected with "The provided amount is more than the remaining payment on the sales order." Unlike a brand-new payment — where an overpayment turns into store credit — an edit has a hard ceiling at the order total. To collect more, add a separate payment instead.

Reverse applied credit with Unapply, not Delete

A payment that was created by applying store credit can't be deleted from the Payments table — SKU.io stops you with "This payment was created by applying a store credit. Use Unapply on the credit row to reverse it." Use Unapply (above) so the credit returns to the customer's balance instead of vanishing.

Collect payment through Stripe

Instead of recording money you've already taken, you can have the customer pay you directly: SKU.io sends them a hosted Stripe invoice with a payment link, and the paid invoice flows back onto this same Payments tab.

Connect a Stripe account first

Send Stripe Invoice lives in the Add Payment menu, but it's disabled until you have a Stripe account that can accept charges. Until then the menu item is greyed out, reads "No connected Stripe account", and shows the tooltip "Connect a Stripe account in Integrations to enable invoices." Connect a charges-enabled Stripe account under Integrations and the option becomes clickable. Manual payments and store credit — covered above — need no integration.

Send the invoice

  1. On the Payments tab, click Add Payment, then Send Stripe Invoice. If you've connected more than one Stripe account, a Charge from selector appears at the top of the tab — pick the account to bill through.
  2. In the Send Stripe Invoice dialog, this order is already selected. Its order total, customer email, and payment status show for reference, and the account you're Charging via is named at the top.
  3. Optionally set an Amount Override — leave it blank to charge the full order total.
  4. Optionally set a Customer Email Override — leave it blank to use the order's customer email. Stripe emails the invoice to whichever address applies.
  5. Click Send Invoice.

What you'll see: the dialog switches to Invoice Sent and shows the Stripe Invoice ID, Amount Due, and a copyable Hosted Invoice URL, plus Open Invoice and PDF buttons you can share through any channel. A Stripe Invoice row appears in the Payments table with an Awaiting Payment status.

Track, void, or share the invoice

While an invoice is unpaid, its Payments-table row carries these row actions:

  • Open invoice — opens the customer's hosted invoice page.
  • Copy invoice link — copies the hosted URL to share by hand.
  • Void invoice — cancels the invoice on Stripe. The customer's hosted link stops working and they can no longer pay it. This can't be undone; to collect after voiding, send a new invoice.

A paid Stripe invoice becomes a payment

When the customer pays, the invoice reflects back on its own: the Awaiting Payment invoice row is replaced by a Stripe payment row with a Paid status, and the amount due drops just like a manual payment. To return money on a paid Stripe payment, use the Refund action on its row — the Refund Invoice dialog refunds up to the amount still refundable (leave the field blank for the full remaining balance) with an optional reason, then Process Refund. A partial refund shows the row as Partially Refunded.

Next steps

Last verified: