> For the complete documentation index, see [llms.txt](https://native-app-co.gitbook.io/stork-credit/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://native-app-co.gitbook.io/stork-credit/reference/faq.md).

# FAQ

Common questions about issuing, calculating, and troubleshooting store credit.

## Getting started

<details>

<summary>Do customers need an account to receive store credit?</summary>

Yes. Store credit attaches to a customer account, so guest orders can't be credited — there is nothing to attach the balance to.

CSV imports, Shopify Flow, and external triggers all **create** a customer from an email address if none exists. Order-value automations can't, because they act on the customer already on the order.

</details>

<details>

<summary>Where do customers see their balance?</summary>

On their account page and at checkout, where it appears as an available payment method. It's native Shopify store credit, so no extra step or code is involved.

</details>

<details>

<summary>Does the app work with multiple currencies?</summary>

Credit is issued in your shop's primary currency, except in CSV imports, external triggers and the Shopify Flow action, which accept an explicit currency.

A balance can only pay for an order in the same currency, so issuing credit in a currency a customer never checks out in leaves them unable to spend it.

Amounts in different currencies are never added together. Where a total would have to combine more than one currency, the app shows **N/A** in its place — hover over it to see which currencies are involved. This applies to the credit issued and average credit figures for your automations on the home page and the **Automations** page. **Flow credit issued** on the home page lists a separate total for each currency instead.

</details>

## Calculation

<details>

<summary>Is cashback calculated before or after discounts?</summary>

Before discounts by default — the order value as it stood before any discount code was applied. Each rule has a **Calculation base** setting, so you can switch it to **Amount after discounts** to reward only what the customer actually paid.

The default is pre-discount so that rules created before this setting existed keep paying out exactly as they always have.

Shipping and taxes are never included, on either setting.

</details>

<details>

<summary>My percentage reward looks a few cents off. Why?</summary>

Percentage rewards are rounded to two decimal places. 2% of €9.90 is €0.198, issued as €0.20.

If the gap is bigger than a rounding difference, check the calculation base on the rule and read the run log — it records the exact base used.

</details>

<details>

<summary>A customer qualifies for two rules. Do they get both?</summary>

By default yes, and they receive the total. Set **Best value only** under Settings to issue just the highest-value reward instead. See [Promotion stacking](/stork-credit/automations/promotion-stacking.md).

</details>

<details>

<summary>What counts toward a minimum purchase amount?</summary>

Only the line items matching the rule's **Applies to** setting, measured on the rule's calculation base. A rule limited to one collection compares the minimum against that collection's line items alone, not the order total.

</details>

## Troubleshooting

<details>

<summary>My automation didn't run.</summary>

Work down this list:

1. **Is the rule active?** New rules save as inactive.
2. **Was the order paid?** Rules fire on payment, not on order creation.
3. **Did the order have a customer?** Guest orders can't be credited.
4. **Check the run history.** A skipped run names the condition that failed.

</details>

<details>

<summary>The run history shows lots of skipped runs.</summary>

That's normal. An order-value rule is evaluated against every paid order, so a targeted rule records a skipped run for every order it doesn't apply to. Skipped runs are a record of a decision, not a failure.

</details>

<details>

<summary>A run failed with "No customer ID found".</summary>

The order had no customer account attached — a genuine guest checkout. Nothing can be credited.

</details>

<details>

<summary>The cart widget isn't showing.</summary>

Usually the **Stork Credit app embed** isn't enabled in the theme editor — the block renders nothing without it. To turn it on, open **Storefront widgets** in the app, click **Turn on app embed**, and save in the theme editor. Otherwise, the widget hides itself when no active rule matches the cart, when a minimum isn't met yet, or when the shopper isn't in the targeted audience. The sample banner you see in the theme editor is only a preview — it doesn't mean the widget will show for every cart.

</details>

<details>

<summary>The cart estimate didn't match what was issued.</summary>

The widget estimates from the cart; the credit is calculated from the paid order. A discount code applied at checkout, a cart change, or a rule being deactivated in between will all produce a difference. The order-value automation is the source of truth.

</details>

## Imports

<details>

<summary>Can I undo an import?</summary>

Not from Stork Credit. Credit that has been issued is a real Shopify transaction. It can be adjusted manually per customer in the Shopify admin.

Aborting a running import stops further rows but doesn't roll back rows already credited.

</details>

<details>

<summary>I imported the same file twice. Now everyone has double credit.</summary>

Imports have no de-duplication — each import issues everything in the file. Corrections have to be made per customer in the Shopify admin. [Contact support](/stork-credit/reference/support.md) if the import was large.

</details>

<details>

<summary>Why did my expiry dates get rejected?</summary>

`expires_on` accepts `YYYY-MM-DD` and `DD/MM/YYYY` only. American-style `MM/DD/YYYY` is deliberately rejected, because guessing wrong sets expiry on the wrong day. Use `YYYY-MM-DD` when in doubt.

</details>

<details>

<summary>Some rows vanished without an error.</summary>

Rows whose column count doesn't match the header are skipped silently. The usual cause is a comma inside a value — commas inside fields aren't supported. Remove them and re-import **only** the missing rows.

</details>

## Reports

<details>

<summary>Can I export a list of customers with store credit?</summary>

Yes. Open **Reports** and generate the [Customers' Store Credit report](/stork-credit/reports/customers-store-credit.md). It lists every customer with a balance above zero — one row per currency — and delivers a CSV by email and as a download. Shopify's own customer export doesn't include store credit.

</details>

<details>

<summary>Why does a customer appear twice in the report?</summary>

They hold store credit in more than one currency. Each currency is a separate store credit account, so it gets its own row.

</details>

## Plans

<details>

<summary>What counts against my active automation limit?</summary>

Only rules with status **Active**. Inactive drafts and seasonal rules are unlimited. A one-shot scheduled rule deactivates itself after running, freeing its slot.

</details>

<details>

<summary>What happens to issued credit if I uninstall?</summary>

It stays with your customers. It's native Shopify store credit and belongs to the customer accounts, not to the app. Uninstalling only stops future automation.

</details>
