Skip to content

CP Overview ​

On the CP page you can modify a couple of things.

Dashboard ​

The dashboard shows the figures of the completed orders. Amounts incl. tax include the tax and the shipping. Days are the days in the timezone of the site.

Dashboard

  • Summary: the sales, the number of orders, the average order value and the customers of today, this week, this month, this year or all time. Every figure is compared with the same part of the period before: this month up to today with the previous month up to the same day, this year with the previous year up to the same date. The customers are split in new customers (their first completed order is in the period) and returning customers. A customer is an email address, or a member when the order has no email address.
  • Chart: the sales, the number of orders or the average order value per day (the last 31 days), per week (the last 12 weeks), per month or per year (since the first order). Per day and per week a dashed line shows the period right before it to compare with. Month shows January to December with a line for every year since the first order, so you can compare the years month by month; the line of this year stops at this month. Click a year in the legend to hide or show it (more than 5 years: the older ones start hidden). Hover a point of the sales to see its orders, subtotal, shipping and tax. Custom shows a range of dates: per day up to 62 days, per week up to a year, per month up to 5 years and per year after that (at most 20 years).
  • Top products (Available from v4.0.0): the 10 products with the most revenue or the most sold in the period. Click Qty or Revenue to sort; the widget keeps the sort when you switch periods. A product is a channel entry and shows its current title, also when it was sold under another name or with different SKUs (e.g. with modifiers); the SKU is shown when all its sales in the period share one, otherwise Mixed SKUs. Order items without a channel entry, e.g. a custom item added to an order in the CP, are not ranked but summed in an Other items row below the list.
  • Payment methods (Available from v4.0.0): the orders and the revenue per payment gateway, with their share of the revenue as a bar. When the Refunds & chargebacks widget is turned off, it uses the full width and also shows the average order value and the refunds and chargebacks per gateway. The other way around, Refunds & chargebacks uses the full width when Payment methods is turned off.
  • Refunds & chargebacks (Available from v4.0.0): the refunded and charged back orders, their amount, and their share of the paid orders (completed, refunded or charged back). Orders count in the period in which they were placed.
  • Last orders: the 10 latest orders, like the rows of the order overview: the order with its status, the customer with the email address, the date, the payment with the gateway and the total. Abandoned orders are left out. Click a row to open the order.

Turn widgets on or off with Dashboard widgets in the Stats settings, where you also set the period they show first. Each widget is also available as an ExpressionEngine Pro dashboard widget.

Settings ​

The settings of the Store. Some sections are hidden when an add-on that takes them over is installed. The settings themselves stay in use: you change them on the settings page of that add-on.

SectionHidden whenWhere to change it
Shipping settingsStore Shipping is installedThe settings page of Store Shipping
Tax settingsStore Tax is installedThe settings page of Store Tax
Email settingsStore Email is installedThe settings page of Store Email
Country settingsStore Shipping is installedThe settings page of Store Shipping
Discount settingsStore Price Rule is installed and enabledThe settings page of Store Price Rule

The notes under each section below say which settings move and which are replaced by the add-on.

Order settings ​

Last order ID ​

This setting stores the ID of the last order. The next order will use this value plus one. You can change this value to start at a different number, but it cannot be lower than the current value. be aware that this will change the auto increment value in the database.

Ship orders ​

Turn this off when the store doesn't ship anything, e.g. it only sells downloads or services. The checkout then offers no shipping method and charges no shipping costs, and the orders show no shipping method or shipping status (also the orders from before). Manage Shipping Status is hidden and turned off, and the Shipping settings are hidden. Shipping methods of an add-on such as Store Pickup are still offered. The setting is not shown when Store Shipping or Store MyParcel is installed, they offer the shipping methods then. On by default. Available from v4.0.0

Manage Shipping Status ​

Manage the shipping status of an order yourself: with this setting on, you can set an order to shipped or not shipped on the order page. It is for the orders that are not shipped with Store MyParcel or picked up with Store Pickup; those get their status from that add-on. Moved from the Shipping settings in v4.0.0, so it is also shown when Store Shipping is installed.

Validate addresses ​

Available from v4.0.0

Off by default. When it is on, the checkout checks the addresses against the format of their country:

  • the billing address, when the checkout tag has enable_billing_address="yes";
  • the shipping address, when the checkout tag has enable_shipping_address="yes", the store ships, the shipping address is not the same as the billing address and the chosen shipping method is not a pickup location of Store Pickup. In a checkout with steps the address step comes before the shipping method, so there the shipping address is checked also when the customer picks up the order later.

It checks:

  • the fields the country requires, e.g. the postal code in the Netherlands or the state in the United States. A field that is not in the form (e.g. no state field in your template) is not asked for;
  • the format of the postal code, e.g. 1234 AB in the Netherlands or SW1A 1AA in the United Kingdom.

A valid postal code is saved in its usual notation, so 1234ab becomes 1234 AB, sw1a1aa becomes SW1A 1AA and a US ZIP+4 950141234 becomes 95014-1234. An error is shown with the field, e.g. {billing_zip:error}: Invalid postal code, e.g. 1234 AB. See Checkout tag. The fields that the checkout tag requires (enable_billing_address, enable_shipping_address) stay required: with enable_billing_address the customer has to enter a postal code, also for a country without postal codes, such as Hong Kong.

The formats come from Google's address data (libaddressinput). Add-ons can add their own check, e.g. at a postal service, with the reinos_store_validate_address hook.

Validate phone numbers ​

Available from v4.0.0

Off by default. When it is on, the checkout checks the phone number (customer_phone): it must be a number that can exist in the country of the billing address (the Default country when the form has no billing country), or start with + and the calling code of another country. Whether it is a mobile or a landline number is not checked.

A valid number is saved in the international format (E.164), so 06 12345678 in the Netherlands becomes +31612345678, and +31 (0)6-1234 5678 too. An error is shown with the field, {customer_phone:error}: Invalid phone number, e.g. +31 612345678. An empty phone number is only refused when the checkout tag requires it (customer_phone_required).

The formats come from Google's phone number data (libphonenumber). A few countries have national notations that are not recognized (e.g. the 15 of Argentine mobile numbers); in the international format they work. Add-ons can add their own check with the reinos_store_validate_phone hook.

PDF settings ​

Set the logo of the PDF documents, it is shown by the Logo block of the PDF layouts.

PDF layouts ​

The blocks of the invoice, the order confirmation and the packing slip, their order and their footers are set on the PDF layouts page. The Invoice footer, Order footer and Packing slip footer settings moved there.

Invoice Due Days ​

This setting set the number of days after which the order is considered overdue.

Invoice prefix ​

Set a prefix for your invoice numbers. e.g. INV-

Order prefix ​

This setting sets the prefix for order numbers.

Shipping settings ​

Hidden when Store Shipping is installed

This section is not shown when the Store Shipping add-on is installed. Then:

  • Shipping Label, Free shipping above, disable_shipping param and Always select first shipping method are on the settings page of Store Shipping.
  • Shipping Price is replaced by the shipping rules of Store Shipping.

Shipping Label ​

Set the label for the shipping option shown during checkout

Shipping Price ​

Default Shipping amount

Free shipping above ​

Free shipping above the x amount. If 0 is given, it will not calculate free shipping.

disable_shipping param ​

This setting changes how the disable_shipping="yes" param of the add_to_cart tag works:

  • Yes: the shipping cost is only removed when all items in the cart have disable_shipping="yes".
  • No (default): the shipping cost is removed as soon as one item in the cart has disable_shipping="yes".

Always select first shipping method ​

When the customer has not chosen a shipping method yet, the first shipping method that matches the cart is selected.

Tax settings ​

Hidden when Store Tax is installed

This section is not shown when the Store Tax add-on is installed. Then:

  • Calculate tax, Tax default rate and Tax Type are on the settings page of Store Tax.
  • High TAX percentage, Low TAX percentage and Shipping TAX percentage are replaced by the tax rules of Store Tax.

High TAX percentage ​

TAX percentage (e.g. 21 for 21%)

Low TAX percentage ​

TAX percentage (e.g. 9 for 9%)

Shipping TAX percentage ​

TAX percentage for shipping (e.g. 21 for 21%)

Tax default rate ​

Set the default tax rate (high or low)

Calculate tax ​

Charge tax on the products and the shipping. Turn this off when the shop doesn't charge tax at all, then all tax is 0%, also when Store Tax is installed. Available from v4.0.0

Tax Type ​

Determine how you entered the product prices. e.g. if you entered them without tax, select "exclusive"

With "inclusive" the price excluding tax is calculated with the tax rate of the moment the product is added to the cart. When the customer chooses a country with another rate, the price excluding tax stays the same and the price including tax follows the rate of that country (e.g. €12.10 at 21% becomes €10.90 at 9%). This way a business customer with the reverse charge pays the price excluding tax.

Currency settings ​

Currency ​

Set the default currency

Currency placement ​

Set the placement of the currency symbol. e.g. €10,00 or 10,00€

Space between currency symbol and value ​

Render space between the currency symbol and the value

Space between currency symbol and value (for PDF) ​

Render space between the currency symbol and the value for just the PDF generation. Spaces in HTML can be different than in PDF, so you can set this separately. Mostly you want a space in PDF.

Decimal point ​

Set the decimal point value to format the price

Thousands separator ​

Set the thousands separator for your currency

Show decimals ​

Show or hide decimals in the price formatting

Email settings ​

Hidden when Store Email is installed

This section is not shown when the Store Email add-on is installed. Then Email from and Email from Name are on the settings page of Store Email, and the BCC and the email type are set per email template.

Email from ​

The From address

Email from Name ​

The from name

BCC ​

Send the mail also to notification one or more addresses.

Email type ​

Send it as text or HTML

Country settings ​

Hidden when Store Shipping is installed

This section is not shown when the Store Shipping add-on is installed. Then Default country and Allowed countries are on the settings page of Store Shipping.

Default country ​

The default country of the checkout. It is also used as the shipping country of an order when the checkout has no shipping country.

Allowed countries ​

The countries the customer can choose in the checkout. When none are selected, all countries are allowed. A billing or shipping country that is not allowed (and is not the default country) gives an Invalid Country error in the checkout.

Discount settings ​

Hidden when Store Price Rule is active

This section is not shown when the Store Price Rule add-on is installed and enabled. Then Enable stacking discounts is on the settings page of Store Price Rule; it is the same setting.

Enable stacking discounts ​

When a cart matches more than one discount (a discount code, a member discount and a role discount), add them up. When off (default), only the discount with the highest value is used.

Store settings ​

Store Address ​

Set the store address incl your store name. This data will be printed on your invoices. In a template you can output it with {exp:reinos_store:store_address}.

Store country ​

Available from v4.0.0

The country your store is based in. Add-ons use it, e.g. the Tax module doesn't apply the EU reverse charge to business customers from this country.

Weight unit ​

Available from v4.0.0

The unit the Store works with for the weight of your products: kilogram (default), gram or pound. It is the unit of the weight param of the add_to_cart tag, unless a product has its own weight_unit: then its weight is converted to this unit when it is added to the cart. The cart weight and the add-ons use this unit, e.g. Store MyParcel converts it to the grams MyParcel expects.

State/Province required for countries ​

For which countries should we require the state field?

Cart settings ​

Clear cart after logged out ​

When a user logs out, should we clear the cart?

Clear carts after x days ​

After how many days should we clear abandoned carts?

Stats settings ​

Preferred Summary period ​

The period that the Summary, Top products, Payment methods and Refunds widgets show first: day, week, month, year or all.

Dashboard widgets ​

Available from v4.0.0

The widgets on the dashboard of the store: Summary, Chart, Top products, Payment methods, Refunds & chargebacks and Last orders. All of them are on by default.

Preferred Chart period ​

The period that the Chart shows first: day, week, month or year.

Sync stats ​

The dashboard reads its numbers from a table with one row per day, in the timezone of the site. The row of a day is updated every time an order of that day is saved or deleted, and only completed orders are counted. Sync stats rebuilds the rows of every day with a completed order. Run it after an update that asks for it, or when the dashboard does not match the orders.

Cron settings ​

Available from v4.0.0

These tasks only run with a cron job, not when a page in the CP is opened.

Cron URL ​

Let a cron job open this url, e.g. every hour. It deletes the abandoned orders and checks the open orders at the payment provider, with the two settings below. The url contains a key for your site, keep it private. With MSM, every site has its own url. For example:

0 * * * * curl -s "https://example.com/?ACT=123&key=..." > /dev/null

Delete abandoned orders after (days) ​

An abandoned order is an order that didn't go through and is not paid: cancelled, failed or expired, for example because the customer cancelled on the payment page. Every new attempt of the customer is a new order. With this setting the abandoned orders are deleted this number of days after they were cancelled, failed or expired (not after the order date: an order can be open for weeks, e.g. a bank transfer). 0 (default) never deletes them, otherwise it must be at least 30 days, so a late payment on an old payment link still finds its order. An order that received a payment is never deleted automatically, also not when the payment didn't match the order.

Orders from before v4.0.0 are not deleted automatically: the date of their last status change is not known, and an order from before v3.6.0 is always marked as not paid, also when it was paid. To delete them, choose Only abandoned orders in the filter of the order overview, check them and delete them.

The cron job deletes at most 500 orders at a time. Deleting works like deleting an order in the CP: a synced order entry is deleted as well.

Check open orders after (hours) ​

An order stays open while the customer is on the payment page, and keeps its stock and coupon code. When the customer leaves the payment page without coming back, the payment provider lets the payment expire and tells the Store with its webhook. When that webhook gets lost, the order stays open. With this setting the cron job asks the payment provider about the orders that are still open and not paid this number of hours after they were placed, and takes over the status of the payment: e.g. expired, so the stock and the coupon code are released, or complete when it was paid after all. A payment that is still open at the provider (e.g. a bank transfer, which can take days) keeps its order open, the Store never closes a payment that can still be paid. 24 is the default, 0 never checks them, otherwise it must be at least 24 hours.

Gateways that need the customer's confirmation on your site (PayPal) or can't look up a payment without the customer's return (Opayo) are skipped, and so are Clover, Authorize.net, Converge, Lemon Squeezy and Viva.com orders that have no transaction id of the provider yet (it arrives with their webhook). Orders whose payment was never started, and orders from before v4.0.0, are not checked either. The cron job checks at most 100 orders at a time (and stops after about 4 minutes), the next run continues after the last checked order.

Logging ​

What should we log: only errors, everything (default) or nothing. The logs are on the Logging page.

Miscellaneous settings ​

Default page ​

The page that opens when you click the add-on: Settings (default), the order overview or the dashboard.

Channel settings ​

There are some settings that you can set on a global level. These settings sits here.

Channel settings

Available from v4.0.0: filter the channels on enabled and on a keyword in the channel name.

Enabled ​

By enabling, you set your channel as a product channel

Inventory settings ​

In order to update your inventory, you should have at least a field that is of type text - number. Here you can select that field.

After you have selected that field, the quantity of an order is subtracted from this field when the order is created. When the order is cancelled, failed, expired, refunded or charged back, the quantity is added back. When such an order is paid after all, or a chargeback is reversed, the quantity is subtracted again. Deleting an order that is open, pending or complete also adds its quantity back.

Check the stock ​

Called Can order on low stock before 4.0.0. When this is on, the stock is checked: a product can only be added to the cart (or its quantity raised in the cart) when the stock field has enough left, otherwise the form shows {error:out_of_stock} (or {cart:error:out_of_stock} in the cart). The checkout checks it again and shows {global_error:out_of_stock} when the stock was sold in the meantime. When it is off (default), the stock is not checked and customers can order more than the stock, the stock field can then become negative.

Inventory management

Cart settings ​

Each cart item is a new item ​

Each cart item is a new record in the cart instead of stacking up

Sync settings ​

This section is only shown when the order sync is set up (an order sync channel is chosen in Sync orders > Order settings).

Sync Enabled ​

Disable or enable the sync of the order and the order items of this channel.

Expiration date offset order item ​

Enter a offset in days for setting an expiration date when syncing the order item. This is usally used when your order item is a virtual product

Enable license key generation ​

Enable the generation of a license key when syncing the order item. This is usally used when your order item is a digital product and has a license key. The mapped field can be set in the sync settings for the order items.

Other ​

The fields of the products in this channel, for add-ons that add a product to the cart without the add_to_cart tag and for the reorder tag.

Name field ​

The name of the product. Not set: the title of the entry.

SKU field ​

The SKU of the product. Not set: the entry id.

Price field ​

The price of the product, entered like the price param of the add_to_cart tag (including or excluding tax, see Tax Type). The reorder tag adds a product for this current price; without a price field the reorder tag skips the products of the channel.

Sale price field ​

Available from v4.0.0

The sale price of the product, like the sale_price param of the add_to_cart tag. When the field of an entry has a value, the reorder tag adds the product for the sale price, with the price as the old (struck through) price.

Weight field ​

The weight of the product.

Example Templates ​

Available from v4.0.0

The Store comes with working templates for a shop: a product overview, the cart, the checkout (in steps and on one page), the order page and the order history, with the embeds and ajax templates they use. On this page you copy them to a template group of your site.

  • Template group: the group to copy to, reinos_store by default. Click Check after changing it to see the status of the templates in that group. The templates refer to each other (embeds, return urls and links); in another group those references point to that group.
  • Status: New (not in the group yet), Same (your copy is the same) or Changed (your copy is different, copying overwrites it; you are asked first).
  • View shows the code of a template, with the references already pointing to your group, and copies just that one. For a Changed template it first shows what copying changes in your copy: the lines only in your copy (−) and the lines of the example (+), with a few lines around them.
  • Copy copies one template, Copy all templates all of them.

The templates are copied as files (system/user/templates/<site>/<group>.group/), so Save templates as files must be on. Open the Template Manager afterwards to load new templates into ExpressionEngine.

Discount ​

Create a discount coupon or add a discount per member or role with a fixed amount or order percentage.

With the condition type Reorders and renewals the discount is for every customer, on the products that reorder or renew a paid order (added with the reorder tag or the parent_order_item_id param of the add_to_cart tag). The percentage or fixed amount is taken off the price of each of these products (a fixed amount per product, at most its price), the rest of the cart keeps its price. It comes on top of a discount on the cart, also with Enable stacking discounts off. With more than one such discount the oldest applies, and Used for does not apply. The order page shows it as Reorder discount. The discount has no limit per order or quantity: a paid order can be reordered more than once, use Expire after to end it. For limits per reorder, per customer or on the quantity, use Store Price Rule. It is checked every time the cart is calculated: after logging out, as another member, or when the earlier order is refunded, the product stays in the cart without the discount and the new order isn't linked to the earlier one. Available from v4.0.0

With Used for you choose whether a discount code is for one user (it can be used for one order) or for multiple users. A code for one user is refused once an order uses it. When that order is cancelled, failed, expired or refunded, the code can be used again. An open order counts as well, but a customer who goes back from the payment page and places the order again can use the code again: the new checkout fails the first order when it isn't paid (see global errors). When the payment provider can't tell whether the first order was paid, it stays open and keeps the code.

Replaced by Store Price Rule

When the Store Price Rule add-on is installed and enabled, the Discount page sends you to the rules of Store Price Rule. The discounts of the Store are then replaced by its price rules.

discount

Filters ​

Available from v4.0.0

Filter the discounts by type (fixed or percentage), expiry (expired or not), usage (one user or multiple users) and a keyword in the name or the discount code. You can also set the number of discounts per page. The filters stay active when you sort or page through the discounts.

Delete discounts ​

Available from v4.0.0

Delete a single discount with the remove icon, or select discounts with the checkboxes and choose Delete in the with selected bar.

Logging ​

This is where you can track all error logs. Which messages are logged is set with the Logging setting.

Filters ​

Available from v4.0.0

Filter the logs by severity (error or notice), by date (a period or your own range) and by a keyword in the message. You can also set the number of logs per page. The filters stay active when you sort or page through the logs.

Delete logs ​

Available from v4.0.0

Delete a single log with the remove icon, or select logs with the checkboxes and choose Delete in the with selected bar. Delete all logs deletes all logs of the current site; the logs of other sites (MSM) are kept.

Export logs ​

Available from v4.0.0

Export logs downloads the logs as a CSV file (separated by ;) with the columns log_id, severity, time, order_id and message. The export uses the active filters, so you only get the logs you see in the overview. Messages that start with =, +, - or @ get a ' in front of them, so a spreadsheet does not run them as a formula.

Orders ​

The order overview page. Click an order to open its order page in the CP. The layout with the clickable rows and the Export menu is new in v4.0.0. Sync order status (Super Admins, when the order sync is enabled) is in the More actions (⋮) menu at the top of the overview, it opens Sync orders > Status.

Order overview

Each row shows the order number with its status, the customer with the email address, the date and time, the payment (paid or not, with the gateway), the shipping status (when Manage Shipping Status is enabled, or Store MyParcel or Store Pickup is installed) and the total. Click a row to open the order. To select an order, use its checkbox. You can sort on the order number, customer, date, payment, shipping status and total; to see the orders with a certain status, use the status filter.

Create order ​

Create order above the order overview makes an order by hand, e.g. for a phone order. Available from v4.0.0

Create order

  • Customer: search a member by name or email address. The email address of the member account is filled in, and the name, phone, company, tax number and addresses of the last order of that member; check them, they can be changed. A member without orders empties those fields. Without a member the order is a guest order. The email address, first name and last name are always required.
  • Products: search a product by name, SKU or entry ID (the entries of the channels with Channel settings) and click it to add it with its price, SKU and weight. A sale price is used as the price, the normal price as the old price. Custom line adds a line that is not linked to an entry, e.g. for a service. The price, the old price (under the name, shown struck through, leave it empty when there is none) and the tax type (Default, High or Low) of every line can be changed. Prices are entered like your price fields: including or excluding tax, as the Tax Type setting says. A product with too little stock gets a warning, the order can be created anyway.
  • Shipping: choose the shipping method: the shipping of the Store (the Shipping Price of the settings, when Store Shipping and Store MyParcel are not installed and Ship orders is on) or a method of Store Shipping, Store Pickup or Store MyParcel for the country of the shipping address and the weight of the products, or No shipping. The list follows the address and the products, a product gets its weight from its entry and the weight can be changed per line. The price of the method is filled in and follows the method (e.g. the price per additional item of Store Shipping) until you change it, and is 0 when the subtotal (excl. tax) is above Free shipping above, like in the checkout. The price is entered like the product prices (including or excluding tax), its tax uses the shipping tax rate for the billing address. Store Shipping has one rule for the order, when the products or the address change its rule can change: the form then chooses the new rule and tells you. The order gets the method and its carrier like an order from the checkout, e.g. a pickup order gets the shipping status not picked up and a MyParcel order shows the MyParcel panel on the order page. A MyParcel order that is created paid is exported like a paid order from the checkout when Automatic export is on.
  • Summary: the subtotal, the shipping costs, the tax per rate and the total are calculated while you fill in the form, the same way as when the order is saved. The tax follows the country of the billing address and, with Store Tax, the company and tax number of the customer: a company with a valid EU VAT number gets the reverse charge, like in the checkout.
  • Status & email: the order gets the status open, pending or complete, and is paid or not (choosing complete checks Paid, uncheck it when the money is not received yet). Send an email to the customer sends the order confirmation email, or with Store Email the templates that match the order. When it is off, the customer gets no email for it (with Store Email a template that only matches later, e.g. on Is Shipped Yes, is still sent). The link to the order page in the email ({invoice_url}) uses the return url of the newest order of the site, as the order has no checkout; before the first order of the site the link is empty. The Note is saved as the order field note.

The order gets the Manual gateway. Its stock is taken, and the reinos_store_order_created, reinos_store_payment_start, reinos_store_checkout_end and reinos_store_payment_end hooks are called, like for an order from the checkout (see Hooks). Changes those hooks make (e.g. the shipping status that Store MyParcel sets after its export) send no email. When the email is sent, reinos_store_resend_confirmation_mail is called as well, otherwise reinos_store_manual_order_no_email: with Store Email the templates that match the order are then marked as sent, a later change doesn't send them after all. A later status change on the order page sends the emails of that status as usual.

Filters ​

Available from v4.0.0

Filter the orders by:

  • status (open, pending, complete, failed, expired, cancelled, refunded, paid with a chargeback);
  • payment (paid or not paid);
  • shipping status, when Manage Shipping Status is enabled or Store MyParcel or Store Pickup is installed. The list shows the shipping statuses your orders have, also the ones that an add-on (e.g. MyParcel) adds;
  • gateway, the gateways your orders were paid with;
  • date (a period or your own range);
  • keyword: the first or last name, company, email address or transaction id of the customer, or an order number (with or without #);
  • abandoned: abandoned orders (cancelled, failed or expired and not paid, e.g. the customer cancelled on the payment page) are hidden by default, choose Show abandoned orders or Only abandoned orders to see them. They are shown as well when you filter on a status or search with a keyword. The last orders widget of the dashboard hides them too. See Delete abandoned orders after to delete them;
  • reorders, when there are any: Reorders and renewals (orders with a product that was reordered or renewed from an earlier order) or Reordered or renewed later (orders with a product that was ordered again later). See reorder.

A reorder shows the orders it came from next to its order number (e.g. ↻ #1024).

You can also set the number of orders per page. The filters stay active when you sort or page through the orders.

Delete orders ​

Available from v4.0.0

Delete a single order with Delete in the actions menu (⋮) of its row, or select orders with the checkboxes and choose Delete in the with selected bar. When the order sync is enabled, deleting an order also deletes its synced order entry and order item entries.

Export orders ​

Available from v4.0.0

The Export button above the order overview downloads the orders as a CSV file: Orders (CSV) has a row per order, Orders with products (CSV) adds the ordered products (name, quantity and prices) as extra columns. Both exports use the active filters, so you get the orders you see in the overview; use the date filter to export a period. Values that start with =, +, - or @ get a ' in front of them, so a spreadsheet does not run them as a formula.

Before v4.0.0 the export was a separate page with a start and end date.

Order page ​

Click an order number to open the order. The layout below, with the Actions dropdown, is new in v4.0.0. The toolbar shows the status, payment and shipping badges, a Print button to download the order confirmation, the invoice or the packing slip as a PDF, and an Actions dropdown:

Order page

  • Change status: open the order details form, for orders that are still open or pending (other statuses are final).
  • Resend mail: send the confirmation email again. With the Store Email add-on installed, it sends the email templates that match the order again.
  • Refund: refund the full amount via the payment gateway, for paid orders of gateways that support refunds (not for an order that is already refunded or charged back).
  • Sync to entries: sync the order to its channel entries (Super Admins, when the order sync is enabled).
  • Delete: delete the order. The confirmation lists the synced entries of the order, which are deleted as well.

Resend mail, Refund, Sync and Delete ask for a confirmation first. Add-ons can add their own actions with the reinos_store_view_order_actions hook.

The page shows:

  • Order details: the order date, the payment (the gateway and the transaction id) and the shipping method. For Mollie and Stripe the transaction id links to the payment in the provider's dashboard. The currency is shown with the total.
  • Customer: the name, the company and tax number, the email address and phone number as links, the member account (or Guest) and a link to all orders with the same email address.
  • Billing and shipping address: the shipping address says Same as the billing address when it is the same.
  • Order fields: the custom fields of the order.
  • Emails: whether the confirmation email was sent. With the Store Email add-on installed, the email templates that were sent for the order, with the date. Click an email to see the conditions (status, paid, shipped, payment method) it was sent on. A template that was marked as sent for an order made with Create order without an email shows (not sent).
  • Products: per product the quantity, unit price, tax and total, with the SKU, custom fields and note below the name. Below it the totals, with a line per tax rate. The discounts used are listed under Discount (the code or name, and the value), a free shipping price rule under Shipping. They link to the discount or price rule while it exists.
  • History of a product: a product that was reordered or renewed (with the reorder tag or parent_order_item_id) shows Reorder of #…, and a product with a history shows History (n orders) below its name: a timeline of all orders of that product, from the first order to the latest renewal, with the date and status of each order. This order is highlighted. When a product was reordered more than once from the same order, the timeline says which order each reorder came from. Deleting an order keeps the history of the other orders connected (#1 → #2 → #3 without #2 becomes #1 → #3). Available from v4.0.0
  • Synced entries: the order and order item entries of the order sync.
  • Logs: the logs of the order per day, newest first, collapsed. They open by themselves when one of them is an error, and errors are highlighted.

When an order that was cancelled, failed or expired is paid after all (e.g. the customer paid on the payment page in another tab after cancelling), the page shows a warning at the top: the stock and the discount codes are taken again, decide whether you deliver the order or refund it. Available from v4.0.0

When a payment was received that doesn't match the order (another currency, or less than the order total), the order is pending and not marked as paid (also when it was cancelled, failed or expired, it takes its stock and discount codes again), and the page shows a warning with the received amount and the payment at the provider. The order stays pending until you decide: a later status of the payment provider that didn't go through (e.g. a second attempt that failed) doesn't change it, so its stock stays taken and the order is not deleted as abandoned. To accept the payment, set the status to complete and Is Paid with Edit Order Details. Otherwise refund the payment at the provider and cancel the order. This applies to Mollie, MultiSafepay, Stripe (Checkout), Authorize.net, Converge, Mercado Pago, Midtrans, Pay., PayMongo, Paystack, Razorpay, Square, Viva.com, Worldpay and Xendit; PayPal and Stripe (on-site, card) check the amount before the payment is taken and refuse it. Available from v4.0.0

When an order was refunded from the CP, the page shows when and by whom. Add-ons can add their own sections with the reinos_store_view_order_1, _2 and _3 hooks.

Edit order details ​

The edit icon next to a heading on the order page opens a form for that part of the order: Order details, Customer, Billing address, Shipping address and Order fields.

The Order details form (also opened with Change status) has these fields:

  • Status: only an open or pending order can get another status, the other statuses are final and are shown locked. Pending can't be chosen, an order can only be moved out of it. Changing the status to cancelled, failed, expired, refunded or charged back puts the stock back; cancelled, failed, expired and refunded also make the discount codes of the order free again.
  • Is paid: can only be changed for an open or complete order, also when you set that status in the same save (e.g. a pending order that you accept as complete and paid). A complete order that is not paid only becomes paid, refunded or charged back by a later status of the payment provider.
  • Is shipped: shown when Manage Shipping Status is on and the order is not a Store MyParcel order. For a Store Pickup order it is Is picked up. Both can only be changed for a pending, open or complete order.

Gateway providers ​

The overview of the payment gateways. Click a gateway to configure and activate it.

Gateway providers

Available from v4.0.0: filter the gateways on active and on a keyword in the name.

Permissions ​

The table layout is available from v4.0.0.

Choose per page which roles can open it, in one table with a row per page (grouped like the menu: shop, settings and tools) and a column per role. The checkbox above a role turns that role on or off for every page. A page without access is hidden in the menu of the store.

The pages are the dashboard, orders, discounts, settings, PDF layouts, channel settings, gateway providers, sync orders, sync settings (the order and order items settings of the sync), example templates and logs. A Super Admin can always open every page. The Permissions page itself is for Super Admins only (from v4.0.0).