# Promo codes

> From FilmScorecard Help: https://www.filmscorecard.com/help/promo-codes

Your organization's own discount codes for the scorecard unlock. A filmmaker
types one into the checkout dialog on their scorecard page before they pay, and
the scorecard costs less. This screen is where you create codes, decide which
seasons each one works in, how many times it can be used and between which
dates, and pause, end or copy them later. It also shows how often each code has
been used, and on which orders — and it is where you **email a code** to the
filmmakers who could use it.

**The price itself is still not yours to set.** Every scorecard sells at the
platform's $29.99, and $22.49 for each further category of the same submission.
See [Selling scorecard access](https://www.filmscorecard.com/help/selling-scorecard-access.md). A code is the
only way to sell below that price, and it only works when a filmmaker types it
in. Nothing here lowers the price for everyone, and nothing adds a code to a
sale that has already happened.

**A percent or amount code never makes a scorecard free.** Every order it is
used on still pays at least the platform fee and your share of Stripe's
processing fee, so how deep a code can go depends on your organization's fee
terms — see [How deep a code can go](#how-deep-a-code-can-go). **Only a Free
unlock code makes a scorecard free**, and you can make one only where
FilmScorecard has allowed your organization free codes — see
[Free unlock codes](#free-unlock-codes).

## Finding the screen

**Promo codes** is in the top block of the left navigation, directly under
Orders. It is on every organization and festival screen, but only for the
people who can open it (see [Who can open it](#who-can-open-it)). Everyone else
does not see the row. Its address is:

```
/org/<organization>/promo-codes
```

The festival switcher in the top bar reads **Overview** on this screen. One
code can serve seasons of several festivals, so the screen does not belong to
any single festival.

**The address only keeps track of the open panel.** `?code=new` is the form for
a new code, and `?code=<id>` is one existing code's panel. If you copy the
address while a panel is open, a colleague who can open this screen lands on
the same code. A link to a code that is not in your list opens the plain list.
Your search, filters, sort and selection reset when you reload the page.

## Who can open it

**Only an owner or an org admin, and only while their access is active.** These
are the same people who can open [Orders](https://www.filmscorecard.com/help/orders.md) and
[Organization settings](https://www.filmscorecard.com/help/organization-settings.md). Everyone else gets an
ordinary "page not found" and does not see the navigation row:

- A **Member** of your organization, whatever festivals they run for you and
  whatever festival role they hold, including a festival admin.
- Anyone whose organization role is **Finance**.
- Anyone whose access you have **suspended**.
- Anyone outside your organization. For them, your organization's address
  looks exactly like a mistyped one.
- A logged-out visitor is sent to the log-in screen first.

Every change on this screen is checked again on the server, so a tab left open
after someone's access changed cannot save anything.

## What a code does at checkout

Everything on the form is about what happens when a filmmaker uses a code, so
that comes first.

- **Filmmakers type codes into the checkout dialog**, under **Have a promo
  code?**, before they go to Stripe. Each order takes one code. Capitalisation
  does not matter: `spring25` works for `SPRING25`. See
  [Paying for your scorecard](https://www.filmscorecard.com/help/paying-for-your-scorecard.md#if-you-have-a-promo-code)
  for what the filmmaker sees.
- **Filmmakers can see a code's discount before they pay.** **Apply**, beside
  the field, shows the code's terms, what it saves on their order and the new
  total, in the dialog. It is optional: **Continue to checkout** applies a typed
  code either way. Apply holds no use of the code — see
  [How uses are counted](#how-uses-are-counted).
- **Codes only work at your own festivals.** A filmmaker at another
  organization's festival cannot use your code, and nobody else's code works
  at yours.
- **A code works only in the seasons it covers.** A code for specific seasons
  is refused on any other season, including another season of the same
  festival. See [Applies to](#applies-to).
- **A code only works where a scorecard can be bought.** The scorecard has to be
  released and priced as usual, and your payouts have to be fully enabled. Until
  your payouts are set up, the filmmaker is told the festival is not set up to
  accept payments, and no code gets checked. See
  [Connecting payouts](https://www.filmscorecard.com/help/connecting-payouts.md).
- **The code applies to each category in the order, at that category's own
  price.** The 25% extra-category discount comes off first, then the code. On
  the usual fee terms, each priced as an order on its own:

  | Code | A $29.99 scorecard | A $22.49 extra category |
  | --- | --- | --- |
  | 20% off | $23.99 | $17.99 |
  | $15.00 off | $14.99 | $7.49 |
  | $27.81 off | $2.18 | $2.18 |

- **Every order pays at least what covers its own fees.** That is the platform
  fee — your rate, never under $2.00 unless your rate is 0% — plus your share of
  Stripe's processing fee on what is paid, and never less than $0.50 in all.
  On the usual terms that minimum is $2.18 an order. Each category keeps its
  share of that minimum, so a code that would take more off stops there. In the
  last row above, $27.81 off a $22.49 category stops at $2.18.
- **Percent and amount codes never make an order free**: the filmmaker always
  pays something, on Stripe. A **Free unlock** code is the exception — see
  [Free unlock codes](#free-unlock-codes).
- **The filmmaker pays on Stripe.** Stripe's page already shows each category
  at its price after the code, with the code and the amount it saved on that
  category.
- **When a code cannot be used, the filmmaker sees one sentence**, at Apply or
  at Continue: "That code can't be used for this purchase." The same sentence
  covers every reason: the code is not one of yours, it is paused or ended, its
  start date has not arrived, its end date has passed, it does not cover this
  season, it is used up, this filmmaker has already used a once-per-submitter
  code, or it is a Free unlock code at an organization that does not allow free
  codes. The message never says which reason applies.
- **After ten unusable codes in an hour on one submission, every code is
  refused**, including a valid one, until the hour has passed. Refusals at
  Apply and at Continue count toward the same ten. If a filmmaker says a code
  you know is valid keeps being refused, this is one likely reason.
- **What your festival sees of it.** Nothing about a code a filmmaker types,
  or tries with **Apply**, is shown to you. When they go on to Stripe with a
  code, the submission's Audit tab records that they **started checkout** —
  the categories, the total, and **Promo code** reading "Applied", without
  saying which code. Once they pay, the unlock entry names the code. Both
  entries are shown only to people with the *View revenue and payouts*
  permission. A Free unlock code never reaches Stripe, so it has no checkout
  entry: its unlock reads "unlocked the full scorecards free", with the code.
  See [The Audit tab](https://www.filmscorecard.com/help/opening-a-submission.md#the-audit-tab).
- **What FilmScorecard keeps of it.** When a filmmaker presses **Apply**,
  FilmScorecard notes only whether the code worked, did not, or was one of
  yours that had ended or expired — never the code itself — for its own
  overall picture of how codes are used. No festival is shown it.

### How deep a code can go

**A code can take off at most what leaves a lone $29.99 scorecard covering its
own fees**: the platform fee and your share of processing. The limits follow
your organization's fee terms — its rate, whether the rate is charged on what is
paid or on the full price, and your share of processing:

| Fee charged on | Rate | Your share of processing | Most a percent code can take | Most an amount code can take |
| --- | --- | --- | --- | --- |
| What is paid — the usual | 20% | 50% — the usual | 92% | $27.81 |
| What is paid | 17.5% | 50% | 92% | $27.81 |
| What is paid | 20% | 0% | 93% | $27.99 |
| What is paid | 20% | 100% | 92% | $27.62 |
| What is paid | 0% | 50% | 98% | $29.49 |
| The full price | 20% | 50% | 79% | $23.75 |

The form states your own limits under the discount, and refuses anything
deeper. Terms that leave no room at all refuse every percent and amount code,
and the form says "Your organization's platform fee leaves no room for a
discount."

**A code made before these limits existed keeps working.** A deeper code you
already had stays active, and checkout holds each order it is used on at the
minimum above. Its panel still saves as long as its discount is left as it
is; a new discount has to fit your limits.

**If your terms change later, your codes do not.** Checkout holds each order at
the minimum for the terms in force when the filmmaker presses **Continue to
checkout**.

### Free unlock codes

**A Free unlock code makes the whole order free** — every category in it, at
no charge, with nothing taken by anybody. **You can make one only where
FilmScorecard has allowed your organization free codes**; the form does not
offer **Free unlock** otherwise. If your organization should be able to, ask
FilmScorecard.

What a filmmaker who types one meets:

- **No trip to Stripe.** They press **Continue to checkout** and land straight
  back on their scorecard, unlocked, on the category they chose. If they press
  **Apply** first, the dialog shows **Free** and a $0.00 total, and the button
  reads **Unlock scorecard**.
- **The order is what they asked for**: the category they pressed, and every
  other locked category too if they ticked **Add your other … categories** —
  all of it free, as one order.
- **They are emailed a receipt**, for $0.00.

Everything else about a code still applies: the seasons it covers, its start
and end dates, its usage limit, **Once per submitter**, pausing and ending.
On [Orders](https://www.filmscorecard.com/help/orders.md) each category is a **Free unlock** row at $0.00, with
the code on it and its whole price as the discount, and its receipt can be
resent.

**If FilmScorecard turns free codes off for your organization, every Free
unlock code you have is ended there and then** — **Ended**, refused at checkout,
and never coming back. Turning them back on later restores nothing: make new
ones. Orders already made with them stay on Orders.

**The Free unlock codes of earlier days were all ended**, before free codes
needed FilmScorecard's say-so. They stay on the list as **Free** / **Whole
order** rows with the status **Ended**, and their past orders still read on
[Orders](https://www.filmscorecard.com/help/orders.md).

## The list

The header is the title **Promo codes**.

Every code your organization has ever made is in the table, one row each,
including ended ones. There is no Load more, because all of them are listed.

| Column | What it holds |
| --- | --- |
| **Code** | The code, and under it the internal label (or **No label**), followed by ", once per submitter" when that is switched on. |
| **Discount** | `20%` over `$6.00 off $29.99`; `$15.00` over `Amount off`; or, on a Free unlock code, `Free` over `Whole order`. |
| **Applies to** | **All seasons**; or the first season it covers, named with its festival — "Pacific Coast Film Festival Fall 2026" — with "+2 more" under it when it covers others; or **No seasons** when every season it was made for has been deleted. |
| **Redemptions** | The number of orders that have used it, with "of 100" when there is a limit, a thin bar, and "22 left", "None left" or "No limit". See [How uses are counted](#how-uses-are-counted). |
| **Valid** | The start date over "to Dec 31, 2026" or "No end date". |
| **Status** | See [Statuses](#statuses). |

The last column holds each row's **⋮** menu (see [The row menu](#the-row-menu)).
**Click anywhere else on a row to open that code's panel.**

The Redemptions bar is indigo, turns amber once 85% of the limit is used, and is
grey on a code that is no longer in use. A code with no limit has no bar.

**The table scrolls sideways rather than restacking.** When the card is
narrower than the table, the header row stays pinned to the top and the
**Code** column stays pinned to the left. The rows stay rows at every width.
The scroll area is a tab stop, so you can scroll it with the keyboard.

### Statuses

Each code has a status based on its dates, whether someone has paused or ended
it, and how many times it has been used. Status is recalculated every time the
page loads, and dates follow your organization's calendar.

| Status | When | At checkout |
| --- | --- | --- |
| **Active**, indigo | Between its dates, not paused, with uses left. | Accepted. |
| **Scheduled** | Its start date has not arrived yet. | Refused. It becomes Active on its own on the start date. |
| **Paused**, amber | Someone paused it. | Refused until someone resumes it. |
| **Used up** | Its limit has been reached. | Refused. |
| **Expired** | Its end date has passed. | Refused. |
| **Ended** | Someone ended it — or, for a Free unlock code, free codes were turned off for your organization. This cannot be undone. | Refused permanently. |

- **When more than one applies, the first match in this order wins:** Ended,
  Used up, Expired, Paused, Scheduled, Active. For example, a paused code whose
  end date passes shows Expired.
- **An end date of today still counts as Active** until midnight in your
  organization's time zone.
- **Used up, Expired and Ended rows have a grey background.**
- **Only Ended is permanent.** You can bring the others back:
  - **Paused:** use **Resume**.
  - **Used up:** raise its limit in the panel.
  - **Expired:** move its end date, or choose **No end date**.
  - **Scheduled:** wait for its start date.

  An ended code can only be copied (see [Duplicating](#duplicating-a-code)).

### Searching, filtering and sorting

Everything in the toolbar applies as you type or tick. There is no Apply
button.

- **The search box** reads "Search 8 codes". It matches the code, the label and
  the names of the seasons it covers, each with its festival's name — so a
  festival name finds every code covering one of its seasons. The ✕ in the box
  clears it, and so does Escape.
- **Status**, **Festival** and **Type** each open a list with a **Select all**
  row and a count beside each option. **Festival** lists every festival in your
  organization, A to Z, and has its own search box. It keeps every code that
  covers a festival you ticked: a code for **All seasons** covers every
  festival, and a code for specific seasons covers a festival when it holds any
  of that festival's seasons. **Type** is Percent off, Amount off or Free
  unlock.
- **The counts next to options stay fixed as you tick boxes.** Each count is
  measured across every code, not just the codes left after filtering.
- **Clear filters** appears once any filter or search is set, and resets all of
  them.

Below about 1340 pixels wide, the three filters are replaced by a single
**Filters** button showing how many are set. It opens the same lists in an
overlay.

**Every column heading sorts the table.** Click once to sort by that column and
click again to reverse the order. The screen opens sorted by **Status** in
workflow order: Active, Scheduled, Paused, Used up, Expired, Ended. Discount
sorts by how much the code takes off $29.99, with Free counting as the whole
price. Applies to sorts by the number of seasons covered, with All seasons
highest. Redemptions sorts by orders. Valid sorts by end date, and codes with
no end date come last. Ties are sorted by code, A to Z.

The line under the table describes what you are looking at, for example
"8 codes, no filters, sorted by status in workflow order" or "3 of 8 codes,
filtered by status and search, sorted by discount, low to high".

### When nothing is listed

- **Your organization has no codes yet.** The list shows "No promo codes yet" /
  "Create a code to take money off scorecards at checkout.", with a **Create
  promo code** button.
- **Your search or filters match nothing.** The list shows "No code matches
  these filters" with a line naming your search, or "None of the 8 codes fit
  every filter that is set.", and a **Clear filters** button.

## Creating a code

1. Press **Create promo code** at the right end of the toolbar.
2. A panel headed **Create promo code** slides in from the right. Fill in its
   five sections, described below.
3. Press **Create code**. **Cancel**, Escape, the ✕ and clicking the darkened
   background all close the panel without saving.

A message at the foot of the screen confirms it:

> Created SPRING25. It works now at checkout on Pacific Coast Film Festival
> Fall 2026.

The end of the sentence names the one season the code covers, or reads "3
seasons" or "every season". If the start date is still ahead, the message reads
"Created SPRING25. It opens on Oct 1, 2026 at 3 seasons." instead.

**A new code starts as:** 20% off, specific seasons with none picked yet,
limited to 100 uses, once per submitter switched on, starting today on your
organization's calendar and ending on 31 December of this year.

### Code

- **Code submitters type at checkout.** As you type, letters become capitals
  and spaces are removed. A code is 4 to 24 letters, numbers or hyphens.
  **Generate** fills in `FSC-` followed by eight random characters, skipping 0,
  O, 1 and I so the code is easy to read aloud.
- **Codes are unique across your organization, including ended codes.** You can
  never reuse the name of an ended code.
- **Internal label**, optional and up to 80 characters, with the placeholder
  "Who this code is for". Only your team sees it. It appears under the code in
  the list, and the search box matches it.

### Discount

Choose **Percent off** or **Amount off** — or, where your organization is
allowed free codes, **Free unlock**. Switching back and forth resets the value
to 20% or $10.00.

- **Percent off** takes a whole number from 1 to your organization's limit —
  92 on the usual terms.
- **Amount off** takes dollars and cents from $0.01 to your organization's
  limit — $27.81 on the usual terms — and adds the missing decimals when you
  leave the field.
- **Free unlock** takes no value: it makes the whole order free. There is no
  preview and no note under it. See [Free unlock codes](#free-unlock-codes).

See [How deep a code can go](#how-deep-a-code-can-go) for the limits.

Once a percent or amount is valid, a preview shows what the code does to both
prices. Each row strikes through the price before the code, shows what the
filmmaker pays, and under it **You receive** — what is left after the platform
fee and your share of processing on that row, priced as an order on its own.
On the usual terms, a 25% code previews as:

| Row | Before | Paid | You receive |
| --- | --- | --- | --- |
| **First scorecard** | $29.99 | $22.49 | $17.51 |
| **Each extra category, 25% off** | $22.49 | $16.87 | $13.10 |

A row the minimum holds shows the held price. Under the preview, one line about
your organization's terms. On the usual terms it reads:

> The platform fee (20%, at least $2.00) is charged on what the submitter
> pays, and you pay half of Stripe's processing fee. Codes go up to 92% or
> $27.81 off.

| Your terms | The line |
| --- | --- |
| Fee on what is paid | "The platform fee (*rate*, at least $2.00) is charged on what the submitter pays, and *who pays processing*. Codes go up to *your limits*." |
| Fee on the full price | "The platform fee (*rate*) is charged on the full price, so the discount comes out of your share, and *who pays processing*. Codes go up to *your limits*." |
| A rate of 0% | "There is no platform fee, and *who pays processing*. Codes go up to *your limits*." |
| Terms that leave no room | "Your organization's platform fee leaves no room for a discount." |

*Who pays processing* reads "you pay half of Stripe's processing fee" at a 50%
share, "you pay 30% of Stripe's processing fee" at any other share, "you pay
Stripe's processing fee" at 100%, and "FilmScorecard pays Stripe's processing
fee" at 0%. When an amount code is held on the extra-category row, the line
adds "An extra category costs less than this code takes off, so it stops at the
fees."

**Opening a Free unlock code at an organization that does not allow free
codes** — one of the ended ones from earlier days, say — shows "Free unlock
codes are no longer offered. Duplicate this code for a percent-off copy." where
the type buttons would be, and the panel will not save it.

### Applies to

- **Specific seasons**, the default, shows your festivals A to Z, each as a
  heading with its seasons underneath, newest first, named by label and year —
  "Fall 2026". It has a search box, "Search festivals and seasons", that
  matches a festival's name (and then shows all its seasons) or a season's; a
  **Select all** row (**Select all 3 matching** while you are searching); and a
  count such as "2 of 9".
- **Ticking a festival's heading ticks every season it shows now.** A season
  that festival adds later is not ticked, and the code does not cover it until
  you open the panel and tick it.
- **All seasons** reads "Works on every season of every festival, and on any
  season the organization adds later."

When your organization has no seasons at all, **Specific seasons** reads "No
seasons yet", and only **All seasons** can be saved. A search that matches
nothing reads `No festival or season matches "fall".`

**Codes made before codes were scoped to seasons** cover every season their
festivals held at the time of the change. A season added since then is not
covered by them; an **All festivals** code became **All seasons** and covers
everything, later seasons included.

### Usage limit

- **Limited**, the default, with a **Total redemptions** field, or
  **Unlimited**. The limit counts **orders**, not categories, across every
  season the code covers. Once the code has been used, the line under the
  field shows how many uses there are so far, for example "Counts every
  season the code covers. 12 used so far."
- **Once per submitter**, on by default: "One redemption per buyer email,
  across every season the code covers." The email is **the submitter's email
  on the submission**, not the address they type on Stripe's page. A filmmaker
  with three films can use the code on one of them.

### Dates

- **Starts** is required.
- **Ends**: **On a date** (with an **End date** field) or **No end date**.

The line under both reads "Dates run midnight to midnight in
America/Los_Angeles, the organization time zone." The zone is the one set under
Organization settings → Organization profile, or `UTC` when it is **Not set**.
See [Organization settings](https://www.filmscorecard.com/help/organization-settings.md#organization-profile).
Checkout uses the same calendar to decide whether a code has started or
expired.

### When something needs fixing

Nothing is checked until you press **Create code** (or **Save changes**) for
the first time. After that, a box at the top of the panel says "2 fields need
attention" / "Fix the highlighted fields below, then create the code again."
(or "…then save again." when editing), and each field shows its own line:

| Field | The line |
| --- | --- |
| Code | "Enter a code." · "Use 4 to 24 letters, numbers or hyphens." · "SPRING25 already exists. Codes are unique across the organization, ended ones included." |
| Percent off | "Enter a whole percent from 1 to 92." — with your organization's limit · "Your organization's platform fee leaves no room for a discount." |
| Amount off | "Enter an amount from $0.01 to $27.81." — with your organization's limit · "Your organization's platform fee leaves no room for a discount." |
| Discount | "Free unlock codes are no longer offered. Duplicate this code for a percent-off copy." — a Free unlock code at an organization that does not allow free codes, including one whose free codes were turned off while the panel was open. |
| Seasons | "Pick at least one season." |
| Total redemptions | "Enter a limit of 1 or more." · "Already redeemed 12 times, so the limit cannot go below 12." |
| Starts | "Pick a start date." |
| End date | "End date must be on or after the start date." |

If the save itself fails, "The code could not be saved. Nothing changed. Try
again in a moment." appears above the buttons. Everything you typed stays in
the panel.

## Editing a code

Click the row, or choose **Edit code** from its menu. The panel is headed
**Edit promo code** and shows the code, its status and "12 of 100 redeemed" (or
"12 redeemed, no limit"). It has the same five sections as the create form plus
a **Redemptions** section — and an **Emails** section once the code has been
emailed — and its button is **Save changes**. Saving shows "Saved changes to
SPRING25."

- **You can rename a code until its first order.**
- **You cannot lower a limit below the uses so far.** That count includes
  checkouts still in progress (see [How uses are counted](#how-uses-are-counted)).
- **Editing an ended code does not bring it back.** It stays Ended.
- **A code deeper than your limits saves with its discount untouched.** Change
  the discount and the new one has to fit.

### Once a code has been used, its code and discount are locked

After the first order is placed with a code, the panel shows this note:

> **Code and discount are locked**
> This code has 3 redemptions, and past orders must keep the terms they were
> sold at. Duplicate it from the row menu to offer a different discount.
> Seasons, limit and dates can still change.

The code field, the discount-type buttons and the value are greyed out, and
**Generate** disappears. The label and **Once per submitter** can still be
changed too.

**If the first order arrives while you have the panel open**, saving shows the
same note. The code and discount go back to their saved values, and the panel
stays open with your other changes still in place. Press **Save changes** again
to keep those changes.

### The Redemptions section

> 3 orders used this code. The discount per order depends on how many
> categories it unlocked; each order below shows its own.

It reads "No orders have used this code yet." until the first order. Under the
sentence are up to five of the most recent orders, newest first. Each one shows
the buyer (the submitter's name, or their email when there is no name), the
receipt code and festival, how much the code took off that order across all its
categories, and the date. **Click an order to open it in
[Orders](https://www.filmscorecard.com/help/orders.md#the-order-panel).** **Open in Orders**, next to the
sentence, opens the most recent order.

### The Emails section

**Every time the code has been emailed is listed here**, newest first, under
the Redemptions section — each **Email this code** send, and each scorecard
release that carried the code in its results emails:

- **"12 people · 15 films"** — how many addresses and films that send reached.
  The figures count what has actually gone out, so a send still running grows
  as it goes.
- **Under it, the seasons it was sent for**, by name — followed by
  **Sending** while it is still going, or **Stopped: the code is no longer
  active** if the code was paused, ended or used up part-way through. **A
  release's row reads "*season* · With scorecard release"**, and counts only the
  results emails that actually carried the code — not the ones that went
  without it because the code had stopped working, or to filmmakers who have
  unsubscribed from your offers.
- **On the right, the day it was sent.**

A code that has never been emailed has no Emails section at all. See
[Emailing a code](#emailing-a-code) and
[In a release's results emails](#in-a-releases-results-emails).

## The row menu

The **⋮** at the end of each row opens a menu headed with the code and a line
such as "20% off, 12 redeemed". **Actions that do not apply are left out of the
menu, not greyed out.**

| Item | Offered on | What it does |
| --- | --- | --- |
| **Edit code** | Every code | Opens the panel. |
| **Copy code** | Every code | Copies the code to your clipboard: "Copied SPRING25 to the clipboard." |
| **Pause** | Active, Scheduled | Takes effect immediately: "SPRING25 is paused. Checkout rejects it until you resume." |
| **Resume** | Paused | Takes effect immediately: "SPRING25 is accepted at checkout again." |
| **Duplicate** | Every code | Asks first. See [Duplicating a code](#duplicating-a-code). |
| **Email this code** | Active | Opens the send dialog. See [Emailing a code](#emailing-a-code). |
| **End code** | Active, Scheduled, Paused | In amber, with the note "Checkout stops accepting it for good." followed by "3 past orders keep their discount." when there are any. Asks first. |

A Used up or Expired code has no Pause or End, because checkout already refuses
it.

### Ending a code

> **End SPRING25?**
> Checkout stops accepting it right away. 3 past orders keep their discount.
> This cannot be undone, and the code name stays reserved. Pause instead if you
> may want it back.

Press **End code**, or **Cancel**. The message "Ended SPRING25." confirms it.
There is no way to delete a code. Ending a code is the closest option, and the
code stays on the list.

**Pausing or ending affects new checkouts only.** A filmmaker who is already on
Stripe's page with the code can still pay within that page's 30 minutes, at the
price they were shown. One who has only pressed **Apply** is refused when they
press **Continue to checkout**. Likewise, if a code's discount changes between
a filmmaker's Apply and their Continue, Continue stops and shows them the new
total before they pay. **It does stop an email send that is still going** — see
[Emailing a code](#emailing-a-code).

### Duplicating a code

> **Duplicate SUMMIT30?**
> Creates SUMMIT30-COPY with the same discount, seasons, limit and dates. It
> starts paused with no redemptions, so you can rename it and check the terms
> before it goes live.

Press **Duplicate**. The message "Created SUMMIT30-COPY, paused." confirms it.
The copy also keeps the label and the once-per-submitter setting. If the name
is already taken, it becomes `-COPY2`, `-COPY3` and so on, and a long code is
shortened so the name fits in 24 characters. The copy has no orders, so nothing
about it is locked. Rename it, change its discount, then **Resume** it. **A copy
of an expired code is also expired** until you move its end date.

**The copy fits your current terms.** A discount deeper than your
organization's limit comes down to the limit in the copy. **A Free unlock code
copies as a Free unlock code** where your organization is allowed free codes,
and as a percent-off code at your deepest percent where it is not. On terms
that leave no room for any discount, duplicating a percent or amount code is
refused with "The code could not be duplicated. Nothing changed. Try again in a
moment."

This is how you offer a different discount to the same people once a code's
terms are locked. **A copy is a new code as far as emailing goes**: filmmakers
the original was emailed to can be emailed the copy.

## Emailing a code

**Email this code**, in the row menu of an **Active** code, emails the code to
the filmmakers in the seasons it covers who could use it today — one email per
address, listing each of their films with a button to its scorecard and its
access code. It is the only email on FilmScorecard your organization writes
itself, and it goes out in your organization's name.

### Before you send: your mailing address

**The email carries your organization's postal address at its foot**, as an
offer email must, so a code cannot be emailed until one is set: the **Mailing
address** field on
[Organization settings → Organization profile](https://www.filmscorecard.com/help/organization-settings.md#organization-profile).
Without it, the send is refused, naming the field. While it is missing, the
**Organization settings** row in the left navigation carries an amber 1 and
opens straight on that tab.

Two other things decide what the email looks like, from the same tab:

- **Legal entity**, if you have filled it in, is the name printed above the
  address. Otherwise it is your organization's name.
- **Support email** is where replies go. Without one, a filmmaker who replies
  reaches no one at your organization.

### The dialog

Headed **Email this code**, with the code in monospace under the title:

1. **Seasons** — a tick list of the seasons the code covers: every season of
   every festival your organization runs for an **All seasons** code, the
   code's own seasons otherwise, each named with its festival. A **Select all
   seasons** row sits at the top when there is more than one. **Nothing is
   ticked when the dialog opens**, so nobody is reached until you choose.
2. **Subject** — up to 200 characters.
3. **Message** — up to 5,000 characters of plain text. Line breaks are kept.
4. **The count** — under the message, a live line: **"12 people · 15 films"**,
   recounted a moment after each tick. It reads "Counting…" while it works.
   **When the code's usage limit is lower than the number of films**, "Usage
   limit 10" sits beside it in amber: the email can reach more films than the
   code can be used on.

**The subject and message open on what this code was last sent with.** Before
its first send they open on a short default — "20% off your scorecard from
*your organization*", and "Thank you for submitting to *your organization*.
Your scorecard is ready to view, and the code below takes 20% off at
checkout." (for a Free unlock code: "A free scorecard from …" and "… the code
below unlocks it free at checkout.") — which you can change as you like.
Whatever you send is remembered on the code for next time; another code keeps
its own.

Press **Send**. A confirmation takes the dialog's place —

> **Send these emails?**
>
> Email 12 people about 15 films?

— with **Send emails** and **Back**; Back returns to the form with everything
you typed. **Cancel** closes the dialog and sends nothing. After **Send
emails**, the dialog closes and "Emailing FALL50 to 12 people." appears at the
foot of the screen. With a count of zero there is no confirmation: the send is
asked for straight away, and the refusal says why nobody can be reached.

### Who it reaches

**In each season you tick, every submission that a filmmaker could buy a
scorecard for right now and has not**:

- **The submission is live** — not withdrawn or disqualified — **and its
  scorecard has been released**, with the season or on its own.
- **It has at least one category for sale that nobody has unlocked** — bought,
  comped, freely unlocked or refunded. A film unlocked in every category it
  can be sold in is left out.
- **The season carries a price**, and your organization's payouts are ready.
- **The submission has a submitter email address.**

and then, from those:

- **minus every film this code has already been emailed for.** One code
  reaches one film once, ever, however many times you send it. A later send of
  the same code reaches only the films that have become eligible since.
- **minus every address that has unsubscribed from your organization's
  offers.**

**Films are grouped by address**, capitals aside: a filmmaker with three
eligible films gets one email listing all three. The count's "people" are
those addresses; its "films" are the films.

### What the email says

- **From "*Your organization* via FilmScorecard".** It is sent from
  FilmScorecard's own address — a festival's own address would be marked as
  spam — with your name on it. **Replies go to your Support email.**
- **Your subject and your message**, exactly as typed. Nothing you type can
  become formatting or a link.
- **Then a block you cannot change**: the code in a box with what it does —
  "20% off your scorecard at checkout.", "$10.00 off …" or "A free scorecard at
  checkout." — and "Valid through Dec 31, 2026." when the code has an end
  date; then one block per film with its title, festival, season, a **View
  your scorecard** button that signs the filmmaker straight in, the same link
  printed under it, and its **Access code**; then a line about those access
  codes and when they expire. **The button and the link under it both carry
  the code.** They open the filmmaker's submission page with their scorecard
  put first — "Your scorecard is in" — and **View scorecard** there, like
  every other way from that page to the scorecard, takes the code along: the
  scorecard opens already priced with it, and every checkout the filmmaker
  opens there starts with the code applied.
- **The footer**: "*Your organization* sent this offer to the address on your
  submission.", your legal name or organization name, your mailing address,
  and **Unsubscribe** from your organization's offers.

**Every film in the email carries the link and access code its filmmaker
already has**, the same ones your results emails and submission-link emails
carry — so nothing they hold stops working, and the email keeps them working
for 30 days from this send. Only where a film's link has reached its 90-day
limit does the email bring a new link and code, and then it says the earlier
ones no longer work. See
[One link and one code at a time](https://www.filmscorecard.com/help/getting-into-your-scorecard.md#one-link-and-one-code-at-a-time).

**Each film's email is on its submission's Audit tab**, as "FilmScorecard sent
the Promo code email" — with the address, when it was queued and sent, and
**Delivered** or **Bounced** once the filmmaker's mail service reports back —
or "could not send" when it failed. An address that has unsubscribed from your
offers reads "did not send the Promo code email", with **Not sent:
unsubscribed**. A filmmaker who follows the email's button is on the tab too:
their visit to the submission page, and their view of the scorecard if they go
on to it, each read "Opened from the Promo code email".
See [The Audit tab](https://www.filmscorecard.com/help/opening-a-submission.md#the-audit-tab).

What the filmmaker sees, and how they unsubscribe, is
[An offer from a festival](https://www.filmscorecard.com/help/an-offer-from-a-festival.md).

### While it sends

**The send runs in the background**, a batch of addresses at a time, and you
can leave the screen. Its progress is the **Emails** section of the code's
panel — see [The Emails section](#the-emails-section).

- **Every batch checks the rules again.** A filmmaker who buys, an address that
  unsubscribes, or a film another send has just reached is skipped from the
  next batch on.
- **Pausing, ending or using up the code stops it.** The remaining addresses
  are not sent, and the Emails row reads **Stopped: the code is no longer
  active**. Resuming the code does not restart the send; send again, and the
  films already reached are skipped.
- **An address that cannot be delivered to is skipped** and the rest carry on.
  That film is not counted as reached, so a later send can try it again.
- **It goes out even where FilmScorecard has switched off your organization's
  automatic emails.** That switch — used, for instance, while an archive of
  your earlier seasons is brought in — holds back the emails a festival's own
  events would send: scorecard results, announcements, judge invitations and
  notices, coordinator notices and submission links. A code you email is your
  own offer, sent on purpose, so it is not held back.

### If the send is refused

Refusals appear inside the dialog, under the heading "This code was not
emailed", and everything you typed stays:

| The message | What it means |
| --- | --- |
| "Add your organization's mailing address in Organization settings → Organization profile before emailing a code." | No mailing address is set. Add one on Organization settings → Organization profile. |
| "Set up payouts before emailing a code — filmmakers can't buy a scorecard until you can be paid." | Your payout account is not fully set up, has been disconnected, or your organization is suspended. See [Connecting payouts](https://www.filmscorecard.com/help/connecting-payouts.md#disconnecting-the-account). |
| "This code isn't active." | The code was paused, ended, used up or expired, or has not started, since the list loaded. |
| "No one in these seasons can use this code right now." | The seasons you ticked hold nobody the email could reach — see [Who it reaches](#who-it-reaches). |
| "Pick at least one season." / "Enter a subject." / "Enter a message." / "Keep the subject to 200 characters or fewer." / "Keep the message to 5000 characters or fewer." | A field needs fixing; the message is under it. |
| "The code could not be emailed. Nothing was sent. Try again in a moment." | Something else — your access changed, or a season you ticked is no longer the code's. Nothing was sent. |

The count line reads "The count could not be read." when it could not be
worked out; **Send** still asks the server, which gives the real answer.

**It is never offered in a support session**, and refused if attempted: an
email in your organization's name is sent by your organization's own people.

### In a release's results emails

**The other way to send a code is with the results.** When you release
scorecards — for the whole season, for the rest of a season, or for one
submission — the release dialog offers **Include a promo code**, listing your
**Active** codes that cover the season. Pick one and each results email that
release sends offers it, with the price worked out for that filmmaker as the
email goes, and every scorecard link in it — the **Unlock** button, **See your
final score** and the link printed under it — opens their submission page with
the scorecard put first, and takes the code on to the scorecard when they press
**View scorecard**: the scorecard shows the code's price with the price before the code
struck beside it, and every checkout they open on that visit starts with the code
applied. See
[Including a promo code](https://www.filmscorecard.com/help/releasing-scorecards.md#including-a-promo-code).

**A release with no dialog takes the season's code.** When scorecards go out
on their own — when judging closes, when selections are announced, when every
submission is approved, or as each one is — the results emails carry the code
chosen as **Promo code** on the season's Settings → Emails tab, on its
**Step 2 · Scorecards ready** card, or none. The choice lists the same Active codes covering
the season, for owners and org admins only, and is greyed out on a season that
releases only by hand. See
[Scorecard ready](https://www.filmscorecard.com/help/festival-settings.md#scorecard-ready).

How it differs from **Email this code**:

- **It reaches who the release reaches**, not who the code could reach: every
  filmmaker the release emails, whether or not this code was emailed to them
  before. A filmmaker who has unsubscribed from your offers gets their results
  without the code.
- **There is no subject or message of your own** — it is the results email,
  with the code in it.
- **A code that has stopped working by the time an email goes** — paused,
  ended, used up, or a Free unlock code your organization is not allowed — is
  simply left out of that email.
- **It is recorded the same way**: a row in the code's
  [Emails section](#the-emails-section), "With scorecard release".

## Changing several codes at once

Hover over a row and its number becomes a checkbox (on a phone the checkboxes
are always visible). The checkbox in the heading row selects every code that
matches your current filters. Once anything is selected, a bar appears at the
bottom of the screen:

> ✓ 3 codes selected · Clear selection · **Resume 1** · **Pause 2** · **End 3 codes**

- **Each button counts only the selected codes it applies to**, and is greyed
  out at zero. A selection with five codes may show "Pause 2", and it pauses
  those two.
- **Resume** and **Pause** take effect immediately: "Resumed 1 code.", "Paused
  2 codes."
- **End** asks first, using the same confirmation as above, for example "End 3
  codes?", counting every past order across them. Then you see "Ended 3 codes."
- Your selection clears after an action, and whenever you change the search or
  a filter.

If a change fails, "The codes could not be updated. Nothing changed. Try again
in a moment." appears at the foot of the screen, and the list stays exactly as
it was.

## How uses are counted

- **One order is one use**, however many categories it unlocked.
- **A checkout in progress holds a use.** The use is reserved from the moment
  the filmmaker presses **Continue to checkout** with the code until they pay,
  or until about 45 minutes pass. Stripe's page stays open for 30 minutes, and
  the hold lasts 15 minutes longer. **Redemptions** counts only completed
  orders, but "left", **Used up** and the "used so far" count include checkouts
  in progress. A code can therefore show **Used up** and then return to Active
  when an abandoned checkout lapses. **A Free unlock code completes its order on
  the spot**, so its use is counted at once.
- **A paid order is always honoured.** If Stripe's confirmation arrives very
  late and the freed use has already been taken by someone else, both orders
  stand. In that rare case a code can end up one use over its limit.
- **Once per submitter counts completed orders** made with the email on the
  submission, across every season the code covers.
- **A refund does not give a use back.** A refunded order still counts toward
  the limit and toward once per submitter, and it still appears in the
  Redemptions section.
- **Deleting a festival removes its orders from the count.** A code made only
  for seasons that have since been deleted shows **No seasons** and does not
  work anywhere.
- **Emailing a code uses nothing** — by **Email this code** or in a release's
  results emails — and neither does a filmmaker pressing **Apply** to see its
  discount, or arriving on their scorecard from an email already priced with
  the code. Only an order counts.

## What a code costs you

**It depends on what your organization's platform fee is charged on.** On the
usual terms the fee is your rate on **what the filmmaker pays**, so a code
lowers the platform fee as well as your share: a 20% code on a $29.99 scorecard
charges $23.99, keeps $4.80 of platform fee and $0.50 of processing, and leaves
**$18.69 to you**, where the same sale with no code would have left $23.40. On
terms that charge the fee on **the full price**, the fee stays at $6.00 whatever
the code, so the whole discount comes out of your share: the same code leaves
**$17.49 to you**.

Either way, a code at your limit leaves you nothing on that order — on the usual
terms, an order of $2.18 is $2.00 of platform fee and $0.18 of processing — and
never a debt. **A Free unlock code costs you the whole price** and costs the
platform its fee too: nobody takes anything. See
[Discounted sales](https://www.filmscorecard.com/help/selling-scorecard-access.md#discounted-sales) for the
figures, and [Orders](https://www.filmscorecard.com/help/orders.md#when-a-promo-code-was-used) for how each coded
order is recorded.

## What this screen does not do

- **Delete a code.** You can end one, but it stays on the list and its name
  stays reserved.
- **Make a scorecard free without FilmScorecard's say-so.** Only a Free unlock
  code can, and only where your organization is allowed free codes. To give one
  filmmaker their scorecard for nothing yourself, use
  [Comp scorecard access](https://www.filmscorecard.com/help/selling-scorecard-access.md#comping-access-for-a-filmmaker).
- **Change your fee terms.** The rate, what it is charged on, your share of
  processing and whether you may make free codes are FilmScorecard's to set for
  your organization; this screen only states the limits they give you.
- **Apply a code for a filmmaker.** Codes only work when the filmmaker types
  one at checkout. They never apply to a sale that has already happened, to a
  comp, or to a season that charges nothing. Emailing a code tells a filmmaker
  about it; it applies nothing.
- **Show what a code has cost you in total.** Each order's discount is in its
  panel on Orders and in the Orders CSV's **Discount** and **Code** columns.
  There is no CSV of codes, and the Orders search does not match codes.
- **Notify you when a code is used.** Nothing is emailed, and there is no count
  on the navigation row.
- **Email a code to a list you choose.** The send reaches exactly the
  filmmakers the rules above allow, in the seasons you tick. There is no way to
  pick or exclude individual filmmakers, to schedule a send, to preview your
  own message before it goes, or to see who opened it — there is no list of
  opens. Each submission's Audit tab shows whether its email was delivered,
  and when its filmmaker came to their scorecard through the email's button;
  see [The Audit tab](https://www.filmscorecard.com/help/opening-a-submission.md#the-audit-tab). Settings →
  Emails previews only the submission page link and Scorecard ready emails — see
  [Emails your festival sends](https://www.filmscorecard.com/help/emails-your-festival-sends.md#preview).
- **Show or undo an unsubscribe.** Nothing on your screens lists the addresses
  that have unsubscribed from your offers, and nothing re-subscribes one.
- **Open for a festival admin, a coordinator or a finance member.** Only owners
  and org admins can open it.
- **Update while you watch.** The list is loaded when the page opens and after
  each change you make. Orders placed while you are reading appear when you
  reload.

## Related guides

- [Selling scorecard access](https://www.filmscorecard.com/help/selling-scorecard-access.md): the price, what
  you earn, what a discounted sale earns you, and comping.
- [Orders](https://www.filmscorecard.com/help/orders.md): every unlock across the organization, with each
  coded order's List price, Code and Paid lines and the CSV's Discount and Code
  columns.
- [Paying for your scorecard](https://www.filmscorecard.com/help/paying-for-your-scorecard.md): the
  filmmaker's side, including the promo-code field, the sentence a refused code
  shows, and the receipt.
- [An offer from a festival](https://www.filmscorecard.com/help/an-offer-from-a-festival.md): the filmmaker's
  side of **Email this code** — the email, its button and access code, and
  unsubscribing.
- [Releasing scorecards](https://www.filmscorecard.com/help/releasing-scorecards.md#including-a-promo-code):
  including a code in the results emails a release sends.
- [Connecting payouts](https://www.filmscorecard.com/help/connecting-payouts.md): the payout account that
  codes, like every sale, depend on, and the platform fee line that states your
  terms.
- [Organization settings](https://www.filmscorecard.com/help/organization-settings.md#organization-profile):
  the time zone that code dates run on, and the mailing address, legal entity
  and support email the code's emails carry.
