Skip to main content

How to Add Custom Revenue

How to track revenue that doesn't come through your online store — like offline sales, marketplace sales, or wholesale orders.

Written by Marc Garbella

For revenue you don't capture via your online store or the Orders API, use the Custom Revenue sheet — ideal for offline sales, marketplace platforms like TikTok Shop, Otto, Kaufland and wholesale orders.

The Custom Revenue sheet lets you upload those orders so they appear in your Profitability and Revenue reports.


Step 1: Create a Custom Revenue sheet

  1. In the left sidebar, go to Store ConfiguratorData Sources

  2. Click Add Data SourceAdd New Data Source

  3. Select Custom Revenue

  4. Enter a name (e.g. Custom Revenue Zalando) and click Create Google Sheet for Revenue

  5. Click on the created datasource to open its detail page, then click Open Google Sheet


Step 2: Enter your revenue data

Fill in one row per product sold. The sheet has the following columns:

Required:

  • Start Date & End Date — define a single day or a date range. If you select a range, the revenue is split evenly across all days in that range

  • Quantity — the number of units sold in that period

  • Gross Price per Item — the price at which the item was sold (gross, incl. tax)

Optional but recommended:

  • SKU — the SKU of the product sold. One SKU per row — add a new row for each product

  • Tax Line — the tax rate applied to that product (e.g. 0.19 for 19%)

  • Country — the country the product was sold to. Important for your Logistics Costs setup if you have different rates per region

  • Product Title — the name of the product. One product per row — add a new row for each product

  • Sales Category — the type of sale (e.g. Offline Retail, Platform Market). Use this to allocate revenues to channels and to set up Transaction and Logistics Costs for that revenue type

  • Sales Sub Category — further breakdown of the category if needed

  • Sales Channel Name — the specific channel (e.g. Otto, Zalando, Rewe). Use this to allocate revenues to channels and configure costs per channel

  • Order ID — the platform's order ID, if available. Makes the revenue more traceable in the app. One entry per row

  • Customer ID — the customer identifier, if available. Improves new vs. returning customer identification


How the sheet works

If no Order ID is specified, Klar creates one synthetic order per day per row.

Example: Time range 01-06-2026 → 04-06-2026, Quantity 20, Gross Price per Item €5, Tax Line 10%

Klar creates 4 orders (one per day). Each order carries a gross revenue of €20 and a net revenue of €18.18 (€20 ÷ 1.10).

💡 Tip: If you want all units to count as a single order on a single day, set the same date for both Start Date and End Date.


Step 3: Sync and verify

Once your data is in the sheet, Klar syncs it automatically several times a day. To trigger an immediate sync, open the datasource detail page and click Sync Data — it takes a few minutes to complete.

Your custom revenue then appears in the Profitability report and Revenue & Profit report alongside your store revenue.

Did this answer your question?