Add custom checkout fields

Collect extra information from customers at checkout (gift messages, company names, tax IDs, delivery notes) and optionally add a surcharge.

Custom checkout fields let you ask customers for extra details during checkout: a gift message, a company name and tax ID, a floor number, delivery notes, and more. You can make a field required, show it only in certain situations, and even attach a surcharge.

Where to manage fields

Go to Checkouts → Custom Fields in the sidebar. This page lists every field you've created and lets you add new ones.

1. Create a field

  1. Click New Field.
  2. In the Create Checkout Field dialog, fill in:
    • Name is what the customer sees (e.g. Gift message, Floor number).
    • Type is the kind of input (see the table below).
    • Description (optional) is helper text shown under the field. Press Enter to split it across lines, and storefronts render the line break. Stores scaffolded before August 2026 show the break as a space instead; regenerate or update the storefront template to pick it up.
    • Key is an internal identifier. Leave it blank and it's generated from the name. It can't be changed after the field is created.
  3. Set the Behavior:
    • Show When sets when the field appears (see Show a field only when relevant).
    • Required, when on, stops your storefront letting the customer finish checkout with this field empty. It's your storefront that applies the block, so if you had a developer build a custom checkout, it only works if their checkout sends the field values back to Brainerce. See Required vs. optional.
  4. (Optional) Add a surcharge under Pricing. See Charge for a field.
  5. Click Create Field.

The Create Checkout Field dialog with field name, type options, Show When, Required, and Pricing

Field types

TypeUse it for
TextA name, company, or tax ID
Long TextDelivery notes or a gift message
NumberA floor number or quantity
CheckboxOpt-ins like "Add gift wrapping"
DropdownA choice from preset options
DateA preferred delivery date
ImageAn ID document or reference image

For Text, Long Text, and Number fields you can also set min/max length or value (see Validation).

Required vs. optional

Use the Required toggle in the Behavior section. When on, the checkout won't go through until the field is filled. Leave it off to make the field optional.

Required is only enforced while the field is actually showing. If you also limit the field with Show When below, a cart that stops matching hides the field, and a hidden field never blocks checkout.

A required Checkbox is not proof that the customer agreed to something. Brainerce counts an unticked box as an answer, so a required Checkbox only makes sure an answer was sent, and whether an unticked box blocks the customer depends on whether your website sends that answer. Do not rely on it to collect agreement to your terms.

If you had a developer build your checkout, check this one. The "required" rule is applied at the moment the storefront sends the field values to Brainerce. A custom-built checkout that never sends them will take the order anyway, with the field blank, required or not. Storefronts scaffolded by Brainerce already do this correctly; a hand-built one needs to call the checkout custom-fields step. If you're seeing orders come through with a required field empty, that's the cause, not a setting on this page.

Show a field only when relevant

To limit when a field appears, set Show When inside the Behavior section when creating or editing the field:

  • Always: the field appears on every checkout (default).
  • Shipping only: the field appears only when the customer is getting the order shipped. Set this for fields like "Delivery notes" or "Floor number" that only apply to delivery orders.
  • Pickup only: the field appears only when the customer selects store pickup.
  • Specific products: the field appears only when the cart holds at least one of the products you pick, or a product from any of the categories you pick. Both pickers appear once you choose this option, and you need at least one entry in one of them to save the field. Use it for fields tied to particular items, like "Engraving text" on rings.

Example: to collect a "Delivery notes" field only for shipped orders → create the field → in Behavior → set Show When to Shipping only.

Filling both pickers widens the match: the field shows when the cart matches a product or a category, never only when it matches both.

Charge for a field (surcharge)

To add a surcharge to a field, expand the Pricing section when creating or editing it and pick a surcharge type:

  • No surcharge collects information only, with no cost added (default).
  • Fixed surcharge adds a flat fee whenever the field is filled (e.g. gift wrapping: always adds ₪5). Select this → enter the amount.
  • Surcharge when checked is for a Checkbox (Yes/No) field: charge only when the customer ticks it on. Ideal for "Add gift wrapping +₪5". Select this → enter the amount.
  • Price per option is for a Dropdown field: set a different price per choice (e.g. Standard box: ₪0, Premium gift box: ₪15).
  • Conditional surcharge is for a Number field: charge based on a threshold rule (e.g. add ₪10 when quantity is above 5).

The surcharge amount is automatically added to the order total and appears as a line item in the order summary.

Where the data appears

After a customer checks out, open the order from Orders. The values they entered appear in the order summary under Customer Custom Fields, and any surcharge that was applied appears alongside the line items. Each field is also a column in the Orders table, hidden until you turn it on under Columns, so you can scan the answers across orders. These answers belong to the customer: your own internal fields for an order are a separate thing, see Order custom fields.

Validation: limits you can set on a field

Open Advanced Options in the field form to set limits. They are checked when the customer's answer reaches Brainerce, and a value outside them is refused with a message that names the field.

LimitApplies toWhat it does
Min Length, Max LengthText, Long TextThe fewest and most characters accepted. Both at least 0.
Min Value, Max ValueNumberThe lowest and highest number accepted.

A Dropdown accepts only one of its Options. Each option has a Value (stored on the order) and a Label (shown to the customer). Use Add Option for more rows. A field's limits apply only to a filled-in answer: an optional field left empty is never checked.

Limits on the form: Name is required and up to 100 characters (the form says Name is required when empty), Description is up to 500 characters, and Key is up to 64 characters. Two fields in one store cannot share a key: the form says a field with that key already exists.

The Custom Fields list

Checkouts → Custom Fields is a table of every field. Click a cell to edit it in place; the change saves at once and shows Checkout field updated.

ColumnWhat it showsEditable in the table?
NameThe label the customer sees.Yes
DescriptionThe helper text.Yes
KeyThe internal identifier.No, never
TypeThe input type.Yes
VisibilityAlways, Shipping only, Pickup only or Specific products.Yes (choosing Specific products still needs its products or categories set in the form)
PricingNo surcharge, Fixed surcharge, When checked, N options with prices or Conditional.The type of surcharge, yes. Amounts and prices are set in the form.
RequiredA switch.Yes
ActiveA switch. Off stops the field appearing on new checkouts.Yes
PositionThe order fields appear in, lowest first.Yes, type a number
Created, UpdatedWhen the field was made and last changed.No
  • New Field (the button at the top right) opens the full form. Its small arrow has Add empty row, which adds a blank row to fill in directly in the table: type a Name and the field is created with the defaults (optional, always shown, no surcharge). With no name the row is not saved.
  • The row menu has Edit (opens the same form as Create Field, titled Edit Checkout Field) and Delete. Select rows for Delete in bulk. Both ask Delete this field? first. Answers already stored on past orders are kept.
  • Fields appear in order of Position, lowest first. A new field goes to the end unless you type a position.
  • A Date field has an availability icon in its row that opens the settings below.
  • Deleting a field breaks any storefront code that reads its key.

Restricting the dates a customer can pick

A Date field can do more than accept any date. Click the availability icon on its row, or Configure availability in the form, to open Availability constraints:

SettingWhat it does
Earliest allowed date, Latest allowed dateA fixed window, for example no sooner than a given day. Dates are YYYY-MM-DD.
Ordering windowA window that moves with the clock, measured on your store's time zone. The panel shows what it works out to right now, for example "Right now a customer can pick 28 Oct through 25 Nov".
Minimum noticeHow long you need between an order arriving and the date it asks for, in minutes, hours or days. Counted from the moment of the order, so it never goes stale.
Daily order cutoffA time of day (HH:mm). Once your store's clock passes it, the earliest pickable date moves on by one more day.
Bookable days aheadA rolling limit counted from today (at least 1). With a Latest allowed date too, whichever comes first applies.
Blocked days of the weekWeekdays customers cannot pick.
Blocked specific datesSingle dates such as holidays. Add one at a time with Add, remove with the cross.
Also capture a specific timeOff is a plain calendar date. On, customers also pick a time, and the two settings below appear.
Business hoursOpening and closing times per day, in groups: All week, Weekdays, Weekend, a custom set of days, with Clear all. A day can have two ranges (mornings and evenings). Days with no hours are closed all day, and the form warns which ones. Two ranges that overlap on a day are refused when you save. A day you blocked above cannot be given hours.
Slot duration (minutes)Splits business hours into bookable slots of this length (at least 1).

The row summarizes what is set: No restrictions, Date range limited, Minimum notice set, Cutoff with the time, Business hours set, and counts of blocked days and dates. Availability constraints saved confirms. Business hours and slot duration exist only on a field that captures a time. Switching the time off drops them and keeps the rest.

The same settings exist on order custom fields.

What's next?

Need a hand? Email [email protected].