# Costs (/settings/costs)

Costs make your margin figures meaningful. Keel HQ uses them with COGS to calculate CM2, CM3, net margin and MER. Until it has the cost data it needs, the Overview shows **—** for affected margins rather than treating an unknown cost as $0.

Go to **Settings → Costs** to add or import costs.

## Add business costs [#add-business-costs]

**Business Costs** has two kinds of recurring operating cost:

- **Fixed Costs** are expenses that do not change with order volume, such as rent, salaries, subscriptions and insurance. Fixed costs also feed the cash forecast.
- **Variable Costs** scale with orders or activity, such as packaging, fulfillment, payment processing, returns and gateway fees.

<Steps>
<Step>

### Add the type of cost [#add-the-type-of-cost]

Choose **Add fixed cost** or **Add variable cost** in the matching card.

</Step>
<Step>

### Complete the cost details [#complete-the-cost-details]

Enter its **Label** (the cost's name) and amount. Choose a **Frequency** for a flat amount: **Weekly**, **Every 2 weeks**, **Monthly**, **Quarterly** or **Annually**.

For a variable cost, choose a **Category**: **Shipping**, **Payment Processing**, **Fulfillment**, **Returns**, **Customs**, **Agency Fees**, **Gateway** or **Other**. Then choose its **Basis** and enter the amount or rate that basis asks for.

</Step>
<Step>

### Set when it applies [#set-when-it-applies]

Set **Starts** and, when the cost ends, **Ends**. Leave the end date as **Ongoing** for an open-ended cost. Use **Change amount** for a future price change, **Stop** when the cost ends, or **Resume** to start an ended cost again.

Keel HQ applies a cost only for the days it ran in the selected window, so a mid-month start, stop or price change is apportioned to that period without changing earlier months.

</Step>
</Steps>

### Choose a variable-cost basis [#choose-a-variable-cost-basis]

The **Basis** menu has these options:

| Group | Options |
| --- | --- |
| Fixed amount | **Flat ($)** |
| Per order or unit | **Per order ($)**, **Per unit ($)** |
| Percentage | **% of net revenue**, **% of gross sales**, **% of COGS**, **% of shipping cost**, **% of ad spend** |

The grey help panel under a variable cost explains the chosen basis and shows a preview for the previous month. A **% of ad spend** cost also has a **Channel** select. Choose **All ad spend** or **Meta**.

Payment-processing and gateway costs use the bases that apply to their fees: **Flat ($)**, **% of net revenue** and **Per order ($)**.

### Payment gateways [#payment-gateways]

The **Payment gateways** card lists gateways from recent Shopify orders. Shopify Payments fees are imported per order. For another gateway, choose **Set rate** or **Edit** to add its percentage rate and flat fee; Keel HQ then includes its fees in margins.

## Agency fees and costs counted as ad spend [#agency-fees-and-costs-counted-as-ad-spend]

An **Agency Fees** variable cost counts toward MER only; Blended ROAS leaves it out. If you select **Counts as ad spend**, it becomes ad spend and both ratios include it. For the difference between MER and Blended ROAS, see [Are Blended ROAS and MER the same thing?](/faq#are-blended-roas-and-mer-the-same-thing).

Variable costs have a **Counts as ad spend** checkbox in their grey help panel. It is not available for fixed costs. When you select it, the cost moves into ad spend: it contributes to the **Ad Spend** tile, Blended ROAS, MER and CM3 instead of variable costs and CM2. Keel HQ never counts it in both places.

The help panel says: “Adds it to ad spend, so Blended ROAS, MER, CAC and CM3 include it. It leaves variable costs (CM2).” The Overview currently labels its acquisition metric **CPA**, so this setting affects CPA rather than promising a CAC figure.

## Record other ad spend [#record-other-ad-spend]

Use **Other ad spend** for spend on channels without an integration, such as TikTok, influencers or sponsorships. It stays separate from operating costs.

Enter the **Channel**, **Spend**, **Period starts**, **Period** and **Currency**, then choose **Add spend**. A period can be **One week** or **Calendar month**.



## Import a P&L [#import-a-pl]

Choose **Import P&L** from **Settings → Costs** to open **Review imported costs**.

<Steps>
<Step>

### Upload the export [#upload-the-export]

Choose **Choose export** and upload a Finaloop Profit & Loss Excel export. Finaloop `.xlsx` exports with monthly columns import best. QuickBooks exports are not supported yet.

</Step>
<Step>

### Review each proposed line [#review-each-proposed-line]

For each P&L line you want to use, select it and review its **Cost type**, **Basis**, **Frequency**, amount, **Category**, and any possible duplicate. When there is an existing match, choose **Add as new cost**, **Keep existing cost** or **Replace existing cost**.

</Step>
<Step>

### Confirm the costs [#confirm-the-costs]

Choose **Confirm N cost(s)**. Nothing is written until you confirm. Keel HQ follows the decisions you approved: it adds a new recurring fixed or variable cost, keeps an existing cost, or replaces one.

</Step>
</Steps>

## When a cost cannot be calculated [#when-a-cost-cannot-be-calculated]

Keel HQ withholds a cost that depends on data it cannot read. It does not substitute $0. In a cost's help panel, the preview says it “can't preview” and gives the reason; affected Overview margins show **—** with that reason. For example, the reason may be that gross sales could not be read, COGS is withheld, ShipStation is not connected, or ad spend is not known.

## Who can make changes [#who-can-make-changes]

Members, admins and owners can add, edit, import and remove costs. Viewers can see the page but cannot change it. Demo mode is read-only: it can show an import review, but confirming it does not save costs.
