Chapter 11. Fulfilling an Order

In Magento, fulfilling an order usually follows a logical order of steps. Magento has features that you can use at each step of an order's lifecycle. While these features are not perfect, they are impressive and easy to use.

In this chapter we will see the lifecycle of an order, and certain tips for managing orders. Next, we will practice the processing of an order.

The lifecycle of an order

This section will walk you through the process of fulfilling an order. At each step of the process, we will discuss the features that Magento offers for that step.

Step 1: Customer places the order

After a customer places an order on your site, both you and the customer will see the status of the order as either Pending or Processing. Your customer will see this after clicking on the My Account link.

Step 1: Customer places the order

Notice the Status of the order.

In the admin interface, you will see this under Sales | Orders as shown in the next screenshot:

Step 1: Customer places the order

Notice the Status column, second from the right.

If the customer has chosen to pay by check, or money order, and payment for the order has not arrived, the status will be Pending. If the customer has chosen to pay using PayPal and the payment has not arrived, the status will be Pending Paypal. If the customer has chosen the credit card option and the payment has cleared, the status will be Processing. So, in general we can say the following:

  • Pending: The order is placed and you're waiting for payment.

  • Processing: The order is placed and you have been paid.

At this point, click on the View link to open the order. The Order View window gives you a snapshot of the order's history and the current status, as shown in the following screenshot:

Step 1: Customer places the order

Notice that status of the order is displayed in the lower left corner of the page. If you click on the Status drop-down list, you will discover that you cannot change the status of the order:

Step 1: Customer places the order

Also, notice the buttons in the upper right corner of the page: Edit, Cancel, Hold, Invoice, Ship, and Reorder. Each of these buttons is an action that you can perform on the order. The status of the order changes as your perform these actions. This is an important concept in Magento's order processing.

Note

You do not assign a status to an order. The order's status changes automatically as you process the order.

Step 2: You create an invoice

At this point, you could Edit, Cancel, or place the order on Hold. But usually, you will proceed to the Invoice step. We will look at Edit/Cancel/Hold later. For now, let's continue with the most common process, and create an invoice.

When your customer placed the order, (s)he received a confirmation email from Magento. This email informed the customer that the order was placed. Now, you will create an invoice for the customer. Even if the invoice is never sent to the customer, you should still create it. We will discuss the reason behind this later on.

To create an invoice, click on the Invoice button. The New Invoice page is displayed as follows:

Step 2: You create an invoice

Notice that the New Invoice page enables you to do several things as you create the invoice. First, you can email a copy of the invoice to the customer by selecting the checkbox in the lower right corner. This is not required, and it depends upon your business process. As stated before, even if you do not email your customer a copy, you should still generate the invoice.

Second, you can enter comments into the Invoice Comments field in the lower left corner. For example, if you've received the check, or money order, you can enter something like "Received check #1000". If the credit card payment has already cleared, you can enter something like "Payment cleared: Authorization number 11111111".

Third, notice that you can change the quantities to invoice. If we can change quantities, we can divide the order in two parts (for example), and make an invoice for each part. This could help if we do not have sufficient stock and would like to send what we have, and send the rest when we receive it.

Clicking on the Submit Invoice button creates the invoice. You will be returned to the Order View page, where you should see a confirmation message that the invoice was created.

Step 2: You create an invoice

Clicking on the Invoices tab displays the list of invoices for this order. You should see the invoice you just created in that list as shown in the next screenshot:

Step 2: You create an invoice

Notice that Magento has given the invoice a status of Paid. This is automatic; you cannot do anything about this. As of this writing (Magento version 1.2), when you create an invoice for an order, that invoice's status will be Paid. However, the status of the order will be Processing. Because of this, you might want to create invoices only after you have received the payment. That way, the invoice's Paid status will match your real-world situation. You should put a note in the Comments field for your customer that the invoice is paid so that (s)he doesn't think you are sending them a bill.

Step 3: Locate the orders that need to be shipped

Usually, you ship the order after you have received payment. Ideally, you want to be able to quickly locate the orders for which people have paid, so that you can ship their products promptly.

If a customer has paid by credit card or PayPal, and the payment has cleared, the order is quick and easy. In the Sales | Orders page, you will see the order status as Processing.

Step 3: Locate the orders that need to be shipped

Any order with a status of Processing has been paid for, but not yet shipped. Look for these orders, and you will be able to quickly locate the orders that you need to ship.

You can locate the orders with this status by using the Status filter to show only the orders with status Processing.

Step 3: Locate the orders that need to be shipped

Locating orders that have been paid for by check, or money order, is not as easy. Remember that when a customer places an order and selects Check or Money Order as the payment method, the order's status is Pending. Look at the following screenshot:

Step 3: Locate the orders that need to be shipped

After you generate an invoice, the order's status changes to Processing. If you wait to generate the invoice until after receiving payment, then you can just look for all the Processing orders and ship them.

However, suppose you send the customer an invoice as soon as you receive their order. This would be a normal business process, which will be as follows:

  • The customer places an order

  • The merchant emails the customer with an invoice

  • The customer prints the invoice and mails a check or money order

  • The merchant ships the order

The challenge to this workflow is that as soon as you send the customer an invoice, the order's status is advanced to Processing. Now you have two kinds of orders whose status is Processing: orders for which you have received credit card payment and are ready to ship, and orders for which you are awaiting check/money order payment and are not ready to ship. When you view your list of orders, how can you tell which are paid and ready to ship, and which are not? Using Magento's built-in workflow (as of vesion 1.2), there is no easy way to locate orders that have been invoiced for a check or money order. So, let's look at a workaround.

At any time before an order is completed, you can put an order on hold by clicking on the Hold button in upper right corner of the page as shown in the following screenshot:

Step 3: Locate the orders that need to be shipped

When you receive an order payable by check, or money order, you can use the following workflow:

  1. Create and email an invoice to the customer. In the Notes field of the invoice, instruct the customer to print this invoice and mail it along with the payment. The order's status is advanced to Processing.

  2. Immediately, before leaving the invoice page, put the order On Hold.

  3. When the check or money order arrives (or when it clears—whichever you prefer), take the order off hold. The order's status is back to Processing.

  4. Now, when you look at the list of orders on the Sales | Orders page, you can quickly spot orders with the Status of Processing, and know that these are the orders you must ship. Look at the following screenshot:

Step 3: Locate the orders that need to be shipped

Admittedly, this is not the intent of the Hold feature. Normally, a store would put an order On Hold for other reasons, such as when an item is on backorder or the customer's payment did not process correctly. However, until Magento adds a way for you to quickly locate orders that you have invoiced but not received payment for, this might give you a workaround.

After identifying the orders that need to be shipped, you are ready to create the shipments.

Step 4: Print orders and pack them

All of this activity needs to result in the actual physical delivery of a product. You must pack and ship these products. If your computer is in the same room as your packing supplies, you can display the paid orders on screen and pack them. If not, you might want to print packing slips and bring them to your warehouse.

For orders that have a status of Processing, you can print a packing slip. On the Sales | Orders page, click to place a check mark next to the order. Then, from the Actions drop-down menu, select Print Packing slip and click on the Submit button.

Armed with a stack of packing slips and order printouts, you are ready to physically pack your orders. As (or after) you pack them, create shipment notices in Magento. That is our next step.

Step 5: Create a shipment

After locating an order that has been paid for, and packing it, you should open the order in Magento. You will see the familiar Order View page. At this page, click on the Ship button, as shown in this screenshot:

Step 5: Create a shipment

If the order was on hold, you will need to take it off hold before you can click on the Ship button.

Clicking on the Ship button creates a new shipment.

Step 5: Create a shipment

You can add tracking information for this shipment by clicking on the Add Tracking Number button.

Step 5: Create a shipment

If you choose to send the customer an email from this shipping page, the shipping information that you enter here will be included in that email.

Notice that you can also update the quantities in the shipment under Qty to Ship. This enables you to send the items in multiple shipments. You might do this if an item is on a backorder.

Note

To create additional shipments, you would go back to the Order View page and click on the Ship button again, generating another new shipment.

You can enter comments about this shipment in the Shipment Comments box, in the lower left corner of the page. These comments are visible only to you, unless you select the Append Comments checkbox on the lower righthand side of the page. That checkbox will add the comments to the email that is sent to the customer.

When you finish editing the information on this page, click on the Submit Shipment button. This records the shipment and changes the order's status to Completed, as shown in the following screenshot:

Step 5: Create a shipment

Tips for managing orders

While following an order through the system, you saw some of Magento's advantages and limitations. Because Magento is a very active open source project, its limitations are constantly being replaced by new features.

We want to work within Magento's limitations while taking advantage of its features. Customizing, or hacking, the code is beyond the scope of this book. With that in mind, here are some suggestions for managing orders.

Ship orders paid for with checks/money orders as you process the check

As we saw in the workflow, when an order has been placed and you are awaiting the payment by check, its status will be Pending. When you receive the check, you can then generate an invoice. However, the order's status will not change; it remains Pending. In that case, both paid and unpaid orders have the status of Pending. There is no easy way to locate the orders that have been paid for. For orders that are placed using credit cards and PayPal, this is not a problem. When you receive payment, their order status automatically updates to Processing.

Hopefully, Magento will add the ability to manually change the status of an order to Processing or Paid. Until then, I suggest that you ship orders paid for with checks/money orders as you process them. For each order you should package the order, generate the invoice, and generate the shipment notification—all in one session. The order's status will go straight from Pending to Complete. This ensures that none of the paid orders get mistaken for unpaid, which could cause you to neglect shipping them.

Be proactive and look for orders that have the status Pending or Pending Paypal for too long

The Sales | Orders page enables you to filter the list of orders so that you can show only those with a selected status. It also enables you to sort the list on any of the columns.

Periodically, search for orders whose status is Pending or Pending Paypal. These orders are unpaid. Then, sort the list by purchase date. If you have orders that have remained unpaid for a long time, you might want to investigate. Did the PayPal payment fail to process? Check your PayPal account. Did you receive a check or money order but you neglected to process it and ship it? Being proactive like this can help you to solve payment glitches before they become problems.

Include a "You're paid up" comment on invoices that you email to your customers

When Magento generates an invoice, it changes the status of that invoice to Paid. You can see this status in the list of invoices under Sales | Invoices.

Include a "You're paid up" comment on invoices that you email to your customers

However, when you print the invoice for your customer, it does not explicitly indicate that it has been paid.

Include a "You're paid up" comment on invoices that you email to your customers

As you saw under the section on generating invoices, you can include a comment in an invoice. If you have received a payment from the customer, add a comment about this to the invoice before sending it to the customer. This will reassure the customer that his or her payment has been received and the order is being processed.

Practicing the complete order process

In the previous chapters we created a customer account on our site, configured at least one payment method (probably check/money order), and configured at least one shipping method (probably flat rate shipping). Now, let's put them all together into one process.

Time for action: Practice processing an order

  1. Log in to your store as a fictional customer. Make sure the customer has a valid email address.

  2. Place an order. Go through the entire checkout process. If you have configured several payment methods, check out each one.

  3. Now, log in to the admin interface.

  4. Under Sales | Orders, look for the order(s) that you just placed. If you placed an order using the check/money order payment method, it should have the status of Pending. If you placed an order with a credit card, it should have the status Processing. If you used PayPal, the order should have the status of Pending Paypal or Processing.

  5. For each order, generate an invoice and have Magento email it to the customer. For the check/money order, check whether it advanced to Processing.

  6. Check whether the customer's email for the invoice(s) is correct.

  7. Create shipping notices for each order. Print a packing slip for each order. Check whether their status advanced to Complete.

  8. Play with as many different scenarios as you can. Test your system and look at the results from both the customer's and admin's view.

Summary

Unlike commercial software, open source software depends upon involvement from the community of users to thrive. Join the Magento community at www.magentocommerce.com. Ask and answer questions on the forums. Submit bug reports to the developers. Submit feedback and let developers know what you want from Magento. The more that you take a hand in shaping Magento's future, the more you will get out of it.

..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset
3.146.35.72