Skip to main content

Add discounts and charges

SKU.io lets you lower an order's price with discounts and raise it with charges — extra fees such as shipping, handling, or packaging. This guide covers discounting a single line, discounting the whole order, applying a saved discount code, and adding charge lines, all from the order's detail page.

A few terms used on this page
  • Line discount — a discount that applies to one line item only.
  • Order discount — a discount spread across every product line on the order.
  • Discount code — a saved discount, such as WHOLESALE10, that fills in the name, type and value for you.
  • Charge (financial) line — a non-product line that adds a fee to the order, grouped as a customer-facing Revenue Line (for example, shipping revenue) or an internal Cost Line (for example, packaging cost).
  • Proration — how a charge is distributed across the product lines (by revenue, cost, weight, quantity, and more).
  • Nominal code — the general-ledger account a charge posts to in your accounting.

Before you begin​

RequirementWhy it's needed
Update sales orders permissionAdding, editing, and removing discounts and charge lines all require it.
An editable orderDiscounts and charges can be added while the order is a draft or open. A closed, cancelled, or fully paid order is locked against these edits, as is an order another user is editing. See View and edit a sales order.
At least one line item (for line and order discounts)You discount lines you've already added — see Manage order lines.
tip

The examples below use order SO-DOCS-0001 for customer Blue Bottle Retail, with the products Stainless Water Bottle 750ml, Insulated Tumbler 500ml, and Reusable Straw 4-Pack.

Apply a discount to one line​

The fastest way to discount a single line is its Disc % column in the line-items grid.

  1. Open the sales order — for example, SO-DOCS-0001.
  2. In the line you want to discount (for example, Stainless Water Bottle 750ml), click the Disc % cell. It reads — when the line has no discount yet.
  3. Type the percentage — for example, 10 — and press Enter.

What you'll see: SKU.io records a percentage line discount (named Line Discount), shows the reduced unit price with a green discount chip on the line, and updates Subtotal and Discounts in the totals footer at the bottom of the page.

Typing a new rate replaces the old one

The Disc % cell holds a single percentage discount per line. Entering a new value clears the existing line-level discount and sets one at the new rate, so the rate never stacks on itself. This inline discount is always a percentage applied before tax. To apply a fixed amount to a line, or to layer more than one discount, use an order discount instead.

Discount several lines at once​

To discount many lines in one step, use the bulk action above the grid.

  1. Click Bulk Edit above the grid.

  2. Select the checkboxes on the lines you want to discount. To target every line, leave all checkboxes unchecked.

  3. Click the Discount button above the grid. It shows the scope in parentheses — the number of selected lines (for example, Discount (3)), or Discount (All 12) when nothing is selected.

  4. In the Apply Discount to 3 Selected Lines dialog (titled Apply Discount to All Lines when nothing is selected), choose how to apply it:

    ModeWhat it does
    Replace allRemoves every existing line-level discount on the targeted lines and sets a single discount at the rate you enter.
    Add discountAdds a new discount alongside any existing line-level discounts.
    Delete allRemoves every line-level discount from the targeted lines.
  5. For Replace all or Add discount, enter the rate, or pick a saved code in Discount code. Click Apply (or Delete in delete mode).

  6. Click Done to leave bulk editing.

To open the same dialog for one line, click the ⋮ menu at the end of the line and choose Apply discount….

Apply a discount to the whole order​

An order discount is entered once and spread proportionally across the product lines. Add it from the totals footer.

  1. In the totals footer at the bottom of the order, find the Discounts section and click Add (or the + / Add Order Discount control).
  2. In the Add Order Discount dialog, enter a Name — for example, Loyalty discount. The name shows on the order and its documents, so make it meaningful.
  3. Choose a Type:
    • Percentage — a percentage off the order.
    • Fixed amount — a flat currency amount off the order.
  4. Enter the value in Rate (%) (for a percentage, 0–100) or Amount (for a fixed amount).
  5. Leave Apply before tax checked to discount the pre-tax total, or uncheck it to discount after tax.
  6. Click Add.

What you'll see: SKU.io spreads the discount across the product lines by their share of the order, lowers the order Total, and lists the discount under Discounts in the footer breakdown.

What a percentage order discount is calculated on

A percentage order discount is applied to the order subtotal — the sum of the line totals after any line discounts. (An order can be configured to calculate it on the grand total, the subtotal plus tax, instead.) The resulting amount is then allocated across the product lines in proportion to each line's value, with any rounding difference assigned to the largest line.

Edit or remove an order discount​

  1. In the totals footer, click Discounts to open the breakdown.
  2. Click the pencil icon next to the order discount you want to change. The Edit Order Discount dialog opens.
  3. Change the name, type, value, or Apply before tax, then click Save — or click Delete to remove the discount entirely.

Use saved discount codes​

A discount code saves a discount you give often, such as 10% for trade customers or a fixed amount off for damaged packaging. Your team picks it from a list on the order instead of typing the name and value each time, and the order shows which code was used.

Discount codes are for your team on sales orders. Buyers on the Customer Portal can't enter them.

Set up a discount code​

You need permission to manage discount codes.

  1. Go to Settings → General → Discount Codes.

  2. Click Create Discount Code.

  3. Fill in the Add Discount Code dialog:

    FieldWhat it does
    CodeThe name your team picks, for example WHOLESALE10. It becomes the discount's name on the order.
    DescriptionOptional. Shown under the code in the picker, so say when to use it.
    TypePercentage or Fixed Amount.
    Rate (%) or AmountThe value. A fixed amount on a line comes off that line's total, not off each unit.
    ScopeOrder offers the code when you discount the whole order, Line when you discount lines, and Both in either place.
    Apply before taxDiscounts the pre-tax total when checked.
    ActiveClear it to take the code out of the pickers without deleting it.
  4. Click Create.

The Add Discount Code dialog for WHOLESALE10: a 10% percentage discount with Order scope, applied before tax and active

The Discount Codes list shows every code with its type, value, scope, and status. Click the pencil icon to change a code, or the trash icon to delete it. Changing or deleting a code doesn't change orders it was already applied to.

The Discount Codes list with DAMAGEDBOX, a fixed amount of 5 per line, and WHOLESALE10, 10% per order, both active

Apply a code to the whole order​

  1. In the totals footer of the sales order, click Add next to Discounts.

  2. In the Add Order Discount dialog, click Discount code. The list shows active codes with Order or Both scope, each with its value.

    The Add Order Discount dialog with the Discount code list open, offering WHOLESALE10 at 10%

  3. Pick the code, for example WHOLESALE10. It fills in Name, Type, the value and Apply before tax. You can still change them for this order.

  4. Click Add.

What you'll see: the discount comes off the order total under the code's name. Click Discounts in the footer to see it listed with its amount and a grey Code tag, so you can tell it came from a saved code. When you edit the discount later, the dialog still shows the code it came from.

The Order Discounts breakdown listing WHOLESALE10 at 10% with a Code tag, US$9.97 off

The tag says where each discount came from:

TagWhere the discount came from
CodeA saved discount code. If you renamed the discount, the tag names the code, for example Code: WHOLESALE10.
ChannelThe sales channel the order was imported from, such as a store's own discount.
ImportA sales order import file.
PortalAn order-value discount on a Customer Portal order.
No tagA discount someone typed in by hand.

Apply a code to a line​

  1. Click the ⋮ menu at the end of the line, for example Stainless Water Bottle 750ml, and choose Apply discount…. To discount several lines at once, use Bulk Edit and Discount as described in Discount several lines at once.

  2. Choose Replace all to swap out the line's existing discounts, or Add discount to add this one alongside them.

  3. In Discount code, pick the code, for example DAMAGEDBOX. The list shows active codes with Line or Both scope. The value fills in under Rate (%), or under Amount off each line for a fixed amount.

    The Apply Discount to Line dialog with the DAMAGEDBOX code picked and 5 USD in Amount off each line

  4. Click Apply.

What you'll see: the line shows the code and the amount under its unit price, and its total drops. A DAMAGEDBOX code worth $5 takes a two-bottle line from US$49.90 to US$44.90.

The Stainless Water Bottle 750ml line with the DAMAGEDBOX code, -US$5.00, and a total of US$44.90

Add a charge line​

Charges are non-product lines you add to the order. They live in two cards on the order's detail page:

  • Revenue Lines — customer-facing charges that add to what the customer pays, such as shipping revenue or a handling fee.
  • Cost Lines — internal costs recorded against the order, such as packaging or labeling, that don't change the customer's total.

To add one:

  1. Scroll to the Revenue Lines or Cost Lines card and use its inline add row (the highlighted row at the bottom).

  2. In Type, search for and pick a charge type — for example, Shipping. To create a type you don't have yet, type its name and choose Create "…".

    If you have no types of that kind yet, the list says so and offers the common ones in one click: Create Shipping, Create Handling or Create Surcharge for revenue lines, and Create Freight, Create Duties or Create Packaging for cost lines. Create a different type… lets you name your own. Each opens Create Financial Type with the name filled in; check it and click Create, and the new type is picked for the row.

  3. Enter a Description (it pre-fills from the type), the Qty, and the Amount.

  4. Optionally set the other fields:

    FieldWhat it does
    ProrationHow the charge is distributed across product lines — Revenue Based, Cost Based, Weight Based, Volume Based, Quantity Based, Specific Line, or Manual.
    Nominal CodeThe general-ledger account this charge posts to in your accounting.
    Disc %A discount on the charge line itself.
    TaxThe tax rate applied to the charge.
    AllocateWhen checked, spreads the charge across the product lines using the selected Proration method (instead of sitting as its own line).
  5. Click Add.

What you'll see: the charge appears as a row in the card, and its amount rolls into the order totals — Revenue Lines show in the footer's Revenue Lines breakdown and raise the Total.

To change a charge later, click any editable cell in its row (Qty, Amount, Description, and the dropdown fields open inline). To remove it, click the trash icon on the row and confirm.

Required values

A discount and a charge each need a complete value or the save is rejected:

  • A percentage discount needs a Rate between 0 and 100.
  • A fixed amount discount needs an Amount.
  • A charge line needs a Type and an Amount of at least 0.
  • A line discount must be attached to a specific line (the Disc % and bulk actions do this for you).

How discounts and charges affect the order​

Discounts and charges don't just change the number in the footer — they flow through to the order's financials and accounting:

Next steps​

Last verified: