In this tutorial we will describe how orders are performed in the store front as well as processed in the administration. Make sure you watched our video introduction and read the taxes tutorial as we assume that you already know how to add categories, products and taxes.
Orders work like in any other shopping cart but BreezingCommerce puts a lot of effort in the order processing from an administration point-of-view.
In most countries there are business regulations that require to keep track of every order and invoices. This means that any invoice that has ever been created may not be altered. Instead, if a change of an order needs to be done after an invoice has been created, a credit note has to be issued and a brand new invoice must be sent to the customer.
The amount of the credit note and the new invoice will either cancel out with each other (=refund) or one of the parties has a positive credit balance while the other has a negative one.
Additionally, historical data from all orders, including invoices, must be preserved for a certain amount of time (e.g. 5-6 years in the United States, 10 years in Germany, etc.).
BreezingCommerce helps you to fulfill these requirements:
- The information stored with an order will be freezed (persisted) the moment after it has been checked-out and being transferred into the order history.
- Once an invoice has been created, editing an order is no longer allowed, with the exception of cancelling an order.
- All invoices will be generated as PDF and "physically" archived as PDF files. It is recommended to backup the invoice PDFs frequently.
- The invoices are located in the folder "/media/breezingcommerce/invoice/invoices/" from where you can backup them using FTP.
- Sidenote: The invoices folder is .htaccess protected. If you aren't using the apache webserver, please protect that folder in your webserver's settings from public access (more on that in the Invoice tutorial).
Before you go online with your store, you might want to test the workflow of an order in the store front as well as in the administration. After you created your categories, products and tax rules it is now time to act as a customer and perform a test-buy.
We are assuming that your categories, products and the mini-cart module are already added to your site through BreezingCommerce menu items and module settings. For simplicity, we are using the bank transfer BC Plugin as it won't require to access payment gateway sandboxes.
- First, enter a category of your store in the frontend and shop a few products by putting them into the cart.
- In the mini-cart click on "checkout" and check your cart contents (prices, taxes, amounts).
- Click on "Checkout" button located at the cart's bottom.
- On the checkout page, select the buying as guest option (for simplicity).
- Enter your billing information and click "continue".
- If you are testing non-virtual products, choose a shipping option and click an 'continue'.
- Choose "Bank Transfer" as payment option and click an 'continue'.
- If you added cart plugins, you will have "Checkout Options". For example the EU Vat Deduction BC Plugin. If there are no such plugins installed and activated, this option won't appear.
- Click 'continue" for the last time.
- Review your order and click on 'Place Order'
- You will be redirected to the thank you message (or article) and various emails will be sent to the customer and the administrators, both as specified in the BreezingCommerce configuration.
- One email will be sent to the customer if there is at least one standard order status that is setup to trigger emails.
- Another email will be sent to the customer with contents depending what you configured in BreezingCommerce's configuration => Invoices.
- Emails will also be sent to your administrators, depending on BreezingCommerce's configuration.
If everything went well and you got the thank you message, the order is now available in the Orders section of the administration, so let's head over into the BreezingCommerce administration => Orders.
The order now appearing in the orders will have a purple status color. This means that a checkout has been done and an invoice has been created, but it has not been paid yet (because we used the Bank Transfer BC Plugin before, which simply adds payment instructions defined by you in its confoguration to the invoice).
Now enter the order details and see the available information and options:
- Order Tab: Shows all information you need to determine what has been ordered, what are the costs and what is the status of the order. Additionally you may use some business related options, depending on the state of the order. In the current state there will be option to set the order as "paid" and an option to cancel the order.
- Shipping Address Tab: The address where to ship to.
- Message Tab: Here you can add a message and send an email with its contents to the customer. Ideal for one-directional communication to inform the customer about something. The message will be stored in the log.
- Log Tab: Holds all log entries related to this order. Can have various contents like when the order has been started, finished and more, depending on what BC Plugins you are using.
Since we have a fixed state based system here, it is a good time to explain the different states of an order before we continue.
When entering the order section, you will see a coloured column in the list of available orders:
- Yellow: Not checked out yet (usually if an admin is shopping in behalf of a customer using the backend cart)
- Purple: Checked out but no invoice created yet
- Red: Invoice created but not paid yet
- Green: Invoice created and paid
- Grey: Cancelled / Refunded
These are system states of an order, not statuses as being managed in the Status Manager, so they shouldn't be mixed up with each other.
After we made this clear to us, now we know that for our order, the purple status applies because the customer ordered via Bank Transfer but needs to send us the amount.
Let's assume the customer got the invoice and paid already (after checking your bank statements). Entering back into the order will require you to set the 'paid' option in order to get to a green state (invoice created + paid).
After you checked 'paid' and saved the order, you will notice that the 'paid' checkbox disappeared and the only option left will be setting the status of the order.
When you now get back to the order list, you will see that the order has been completed and this is been shown with green color.
Now, since you have been paid, you are ready to make the shipping based on the information you already got.
Now we are assuming that the customer of that order is calling you, stating that he did a mistake asking to swap one product with another before shipping.
Since you cannot edit the order no longer, this is a problem...or not. Because this is the exact thing that BreezingCommerce takes care of: you simply shouldn't edit an invoiced and paid order.
Instead just do this:
- Click "Cancel Order" in the top menubar. A cancellation receipt will be sent to the customer, including a credit note as PDF if enabled in the configuration.
- Check "Copy" in the top menubar of the order.
- Close the order.
- Note the color yellow for the copied order. It indicates a not checked-out yet state as described above.
- Open the copied order and notice what options you have now.
Now click on an order item's title and you will see that it redirects you to the product within the administration. There, click on the "Cart" tab.
The "Cart" tab reveals a backend cart that is loaded when clicking on a menu item link (if the order hasn't been checked-out yet).
Here you can configure and add products just like in the store front, but this gives you the ability to shop in behalf of the customer.
This enables you know to edit the order in a business compliant way, by simply copying and order and shop for the customer on the copied order.
After you re-configured your product (or just adding it), click on "Update" underneath the amount field, then click on "Order Overview" right beside.
Click on 'OK' in the notification that pops up and you'll find yourself back in the order details.
In the order details, choose the payment option and a shipping option and click 'Checkout' in the top menubar.
You will notice that you now got the ability to edit the prices for each item.
If you ever need that option, please be aware that you should enter the gross amount in the shop's default currency (always, even when the order is made in a different currency, always add the gross default currency amount).
Now delete the order item that the customer wanted to have removed and click "Create Invoice". The entire email sending process will happen again and a new invoice will be created.
Since the order has been successfully processed now, you are ready to ship!
Because you now have a credit note from the cancellation of the original order and the invoice of the corrected order, the difference between them is now what the customer owes you or you owe the customer.
We learned how orders work in general in BreezingCommerce as well as how the order process will appear to a customer and to the shop owner. We also learned that we need to cancel an order before correcting it to stay within business regulations of most countries.
I hope I was able to shed some light on the order process and suggest to read about invoices in a separate tutorial.