💰Profit and loss

How Shippified works out revenue, costs, subscription overhead and profit, and how to read the Profit & loss tab for a month, quarter, year or all time.

Written for
Resellers who want to know what they're actually making
Applies to
All plans
AdminUpdated Sep 28, 2026

The Profit & loss tab in Insights shows what you made over a month, a quarter, a year or all time. It combines three numbers: what you paid for each order (its cost), what you sold it for (its sale price), and what it costs you to run your operation, such as monitors, proxies and servers (your subscriptions). Shippified fills in costs automatically from your checkout messages. Sale prices are always yours to enter. This page explains where each number comes from, how every figure on the tab is calculated, and how to fill in the gaps.

The Profit & loss tab for This month, with net profit at the top, five stat tiles, the coverage warning, the Daily profit chart and the By retailer and By source breakdowns

Before you start

Profit & loss needs two kinds of data to be useful:

Subscriptions are optional. Without them, Sub costs is $0.00 and net profit equals gross profit.

Open Profit & loss

  1. Open Insights

    In the sidebar, click Insights (the chart icon). The Profit & loss tab opens by default, on This month.

  2. Pick a range

    At the top right, click This month, This quarter, This year or All time. The page recalculates for that range. Each range has its own address (/profitability/month, /profitability/quarter, /profitability/year and /profitability/all), so you can bookmark the one you check most.

  3. Refresh if needed

    The figures are worked out when the tab loads. If you've just entered sale prices in another tab, click the round-arrow Refresh button next to the ranges.

The Profit & loss header with net profit, the change chip and the range buttons

Where the numbers come from

Cost: what you paid

Shippified fills in each order's cost from the checkout message that created it:

  • If the message (read through a built-in or custom template) has an item price, that's the cost.

  • Otherwise, Shippified uses the message's order total.

  • It reads the first amount it finds. $1,249.99 becomes $1,249.99; currency symbols and thousands separators are ignored.

Quantity isn't multiplied in. If a message says "Qty 2" and shows $99.98, the cost is $99.98, whatever that amount represents in the message.

If the message has no price at all, the order has no cost. You can add one yourself:

  • New order: fill in Cost ($) in the Add an order dialog on the Orders page.

  • Existing order without a cost: open the order, fill in Cost ($) under Pricing, then click Save changes.

Cost is fill-in-only. Once an order has a cost, the Cost ($) field shows a lock icon and can't be edited. If costs are wrong across many orders, fix the template that reads those messages, then click Re-run parsing on the Templates page. Re-parsing rebuilds costs from your messages and never touches sale prices. See Custom templates.

Sale price: what you sold for

Sale price is the amount you resold the item for. Shippified never guesses it: you enter it, and you can change or remove it at any time. See Record a sale price.

Subscriptions: your overhead

Subscriptions are the recurring costs of running your operation. You manage them in Calendar → Subscriptions. See Add your subscriptions and How subscription costs are spread.

Record a sale price

You can record a sale price in two places.

  1. Open the order

    On the Orders page, click the order's row. Its drawer opens on the right.

  2. Find Pricing

    Scroll down to the Pricing section. Cost ($) shows what you paid (with a lock icon if it's already set). Sale price ($) is always editable.

  3. Enter the sale price

    Type the amount, for example 181.96. A leading $ and thousands commas are fine ($1,250), and so is .5. Use at most two decimal places.

  4. Save

    Click Save changes. The button briefly shows Saved.

The order drawer's Pricing section with Cost ($) locked at 99.98 and Sale price ($) set to 181.96

To remove a sale price, empty the Sale price ($) field and click Save changes. If the field has something that isn't an amount, the drawer shows "Sale price must be a dollar amount like 49.99." (or "Cost must be…") and saves nothing, so your existing price is kept. If saving fails for another reason, the error shows at the bottom of the drawer.

The profit shown on a single order is simply:

order profit = sale price − cost        (a missing cost counts as $0)

Sale prices survive re-parsing and mailbox rebuilds, so you can rebuild your orders from templates or from your inbox without losing them.

Add your subscriptions

  1. Open the Subscriptions tab

    In the sidebar, click Calendar, then the Subscriptions tab.

  2. Click Add

    Click Add to open the subscription form.

  3. Fill in the form
    • Name: what it is, for example Hayha · Pro. Required; Add subscription stays greyed out until you type one.

    • Cost: the price of one billing period, for example 49.99.

    • Currency: a label such as USD. It isn't converted (see the warning below).

    • Frequency: weekly, monthly, quarterly or yearly.

    • Start date: the day you started paying. Overhead is counted from this date.

    • Category: a label for grouping, for example monitors or proxies.

    • Active: leave it ticked (Renewing).

    • End date (optional): leave it empty unless you already know when you'll stop paying. Overhead stops at this date.

    • Notes (optional): anything you want to remember.

  4. Save it

    Click Add subscription. The subscription appears in the list with its frequency and cost, plus a per-month figure for anything that isn't monthly.

To edit a subscription, click the pencil icon on its row; the same rules apply as when adding (the name can't be empty and is cut to 80 characters, and the cost can't be negative). If a save is refused, the reason shows at the top of the form.

A subscription open for editing, with the Active and End date (optional) fields

Subscription amounts are added up exactly as entered. The currency field is only a label; nothing is converted. Enter every cost in the same currency as your order prices.

Stop a subscription without changing past months

When you cancel a tool, edit its subscription and either untick Active (it's paused from today) or set an End date (optional), then click Save changes. Its overhead stops from that date, and every month before it keeps its cost. To start paying again later, tick Active and save: Shippified adds a new subscription from today, so the months in between stay uncharged. See Pause or end a subscription.

Deleting a subscription (the trash icon, then Delete subscription) removes its overhead from every period, including past months you've already reviewed. Pause it or give it an end date instead if you want past months to stay the same.

Read the Profit & loss tab

The ranges

Button

Orders included

Overhead counted for

This month

Orders dated from the 1st of this month up to the 1st of next month

The whole month, including days still to come

This quarter

Orders dated in the current calendar quarter (Jan–Mar, Apr–Jun, Jul–Sep or Oct–Dec)

The whole quarter

This year

Orders dated January 1 to December 31 of this year

The whole year

All time

Every order you have

From each subscription's start date up to right now

An order's date is the date it was first received, shown as Received at the bottom of the order drawer. For an order you added by hand, it's the Order date you entered. All ranges use UTC dates, so an order placed late in the evening in the Americas can fall on the next day.

Profit & loss with This quarter selectedProfit & loss with This year selected

The headline and change chip

The large figure at the top is your net profit for the range. It's green when positive and red with a minus sign when negative.

Under it, a chip compares net profit with the previous period of the same kind, for example vs August 2026 · September 2026:

Range

Compared with

This month

Last month (its real length: March is compared with the whole of February)

This quarter

Last quarter, for example vs Q2 2026

This year

Last year, for example vs 2025

All time

Nothing. Only the label All time is shown.

The chip shows the difference between the two net profits. A down arrow in red means this period is lower by that amount; an up arrow means it's higher.

Early in a month the chip usually points down. This month already includes the full month's overhead but only the orders you've had so far, while last month is complete.

The five tiles

Tile

How it's calculated

Revenue

The sum of sale prices of the orders in the range. Orders without a sale price add $0.

Order COGS

The sum of costs of every order in the range, whether or not it has a sale price. COGS means cost of goods sold. Shown with a minus sign because it's money going out.

Sub costs

Your subscription overhead for the range (see below). Shown with a minus sign.

Gross profit

Revenue − Order COGS

Net profit

Gross profit − Sub costs. The same figure as the headline.

Gross and net profit keep their real sign: a loss shows as, for example, −$47.45 in red.

Every order in the range counts toward Order COGS, including canceled orders and orders you haven't sold yet. An order with a cost but no sale price reduces profit by its full cost. That's why a range full of unsold stock shows a loss.

The coverage prompt

When fewer than half of the orders in the range have a sale price, a banner appears under the tiles:

Only 17 of 71 orders this window have a sale price set (24% coverage). Your net profit number is missing revenue from the rest. Open Orders → fill them in.

Click Open Orders → fill them in. to go to the Orders page, then add sale prices to the orders you've sold as described in Record a sale price. Once at least half the orders in the range have one, the banner goes away. A sale price of $0 counts as set: an item you gave away or wrote off still counts as priced.

On the Orders page, the Price column shows an order's sale price once it has one, tagged sale, and its cost until then, tagged cost. Sorting by Price: high → low is a quick way to find the expensive items worth pricing first.

Daily profit

The Daily profit chart plots, for each day, the sale prices minus the costs of that day's orders. Subscription overhead isn't included. Hover over a point to see profit · +$X for that day.

  • This month and This quarter show every day of the period, labelled by day of the month. Days with no orders sit at $0.

  • This year and All time label days as month/day, for example 7/15. All time only includes days that had orders, so the spacing along the bottom isn't even.

When no order in the range has a cost or a sale price, the chart is replaced by "No revenue captured in this window yet — set sale prices on parsed orders to populate the chart."

Profit & loss with All time selected, showing the daily profit curve across every day with orders

By retailer and By source

These two lists add up the per-order profit (sale price − cost) of the orders in the range:

  • By retailer groups them by store: Target, Walmart, Amazon, Best Buy, or Unknown Store.

  • By source groups them by where they came from: the bot's name for orders from a Discord bot, email for orders from retailer emails, or manual for orders you added.

Each row shows the profit (with a + when positive), the number of orders, and a bar sized against the largest row. Rows are sorted from most to least profitable, and the top 12 are shown. The count in the corner, such as 5 entries, includes every group. Subscription overhead isn't spread across these rows; it only appears in Sub costs and Net profit.

If the range has no orders, each list says "No by retailer activity in this window." or "No by source activity in this window."

How subscription costs are spread

Sub costs aren't charged on renewal dates. Each subscription's price is turned into a daily rate and spread evenly over every day it's active:

Frequency

Daily rate

weekly

cost ÷ 7

monthly

cost × 12 ÷ 365

quarterly

cost × 4 ÷ 365

yearly

cost ÷ 365

For each subscription, Shippified multiplies the daily rate by the number of days the subscription overlaps the range, from its Start date up to its end date (or the date it was paused), and rounds to the cent. Sub costs is the total across all your subscriptions.

What this means in practice:

  • A subscription that starts partway through a range only counts from its start date, and one that ends or is paused partway through only counts up to that date.

  • A monthly subscription doesn't add exactly its price to every calendar month. A $30/month tool adds $29.59 to a 30-day month and $30.58 to a 31-day month. Over a year it adds up to $360.

  • All time counts overhead up to the present moment, never into the future. The other ranges count the whole period, including days that haven't happened yet.

  • The renewal dates shown on the Calendar don't affect Sub costs.

Worked example

Suppose it's a day in June (30 days). You have three orders dated in June and two subscriptions that started before June.

Order

Cost

Sale price

Order profit

A

$120.00

$180.00

+$60.00

B

$80.00

$95.00

+$15.00

C

$50.00

not set

−$50.00

Subscription

Price

Daily rate

× 30 days

Monitor

$30.00 monthly

$30.00 × 12 ÷ 365 = $0.9863

$29.59

Proxies

$10.00 weekly

$10.00 ÷ 7 = $1.4286

$42.86

With This month selected:

Figure

Calculation

Result

Revenue

$180.00 + $95.00

$275.00

Order COGS

$120.00 + $80.00 + $50.00

−$250.00

Sub costs

$29.59 + $42.86

−$72.45

Gross profit

$275.00 − $250.00

$25.00

Net profit

$25.00 − $72.45

−$47.45

Two of three orders have a sale price (67%), so there's no coverage banner. By retailer and By source would show +$60.00, +$15.00 and −$50.00 grouped by each order's store and source; the $72.45 of overhead doesn't appear there.

Now you sell order C for $75.00 and enter that sale price. Revenue becomes $350.00, gross profit $100.00, and net profit +$27.55. One missing sale price was the difference between a loss and a profit.

Troubleshooting

My net profit is a large loss even though I'm selling at a profit

Almost always, most orders in the range have no sale price, so their full cost counts against you with no revenue to balance it. Check the coverage banner. Filling in sale prices for sold items fixes it. Unsold stock also counts as a cost until you sell it.

I can't change an order's cost

Cost locks once it's set, whether Shippified read it from the message or you typed it. If the amount came from the wrong part of the message, fix the template and click Re-run parsing on the Templates page. See Custom templates.

The cost is double what I paid per item

The message's price or total covered several units, and Shippified doesn't divide by quantity. Record the sale price for the whole order (all units together) so profit still comes out right.

It says "Sale price must be a dollar amount like 49.99."

The Sale price ($) (or Cost ($)) field contains something that isn't an amount, such as about 180 or 181.965. Nothing was saved. Type an amount such as 181.96 or $181.96 and click Save changes again.

Sub costs changed for a month I'd already closed

Subscription overhead is recalculated every time from your current subscriptions. Deleting a subscription, or editing its cost, frequency or start date, changes every period it overlaps. Pausing it or setting an end date only changes periods from that date on.

The page says "Couldn't load profitability — …"

The figures couldn't be loaded; the rest of the message gives the reason. Click Retry. If it keeps failing, reload the page and check that you're still signed in. ("Computing margin…" only shows while the figures load.)

An order appears in a different month than I expected

Ranges use the order's received date in UTC. An order received at 9 p.m. on the 31st in New York is dated the 1st in UTC, so it counts in the next month.

Was this page helpful?