7 Steps to Configure Magento 2 Purchase Order Number
Want to simplify your payment and checkout process? Magento 2 purchase order number feature speeds up the checkout process and provides more control over recurring orders.
In this tutorial, we will explore the working and configuration steps of the PO feature.
Key Takeaways
-
PO simplifies business-to-business transactions.
-
Magento auto-generates PO for easier tracking.
-
PO helps businesses manage credit-based purchasing.
-
PO improves order tracking, billing, and reporting.
-
Top purchase order extensions enhance your store's functionality.
What is a Purchase Order Number in Magento 2?
A PO number in Magento 2 is a unique identifier assigned to a PO. It is a formal document generated by a buyer to request goods or services from a seller.”
The PO helps track and manage POs within Magento’s system. These can be used in B2B setups to simplify the procurement process.
The PO helps manage transactions and verify orders. It ensures proper record-keeping between buyers and sellers. It is often integrated with the payment and invoicing process to simplify businesses' workflows.
How Does Magento 2 PO Number Work?
1. Setting Up PO
-
The feature is available when the business-to-business module is enabled.
-
It allows businesses to offer their customers the option to pay using PO. They are not required to make direct payments through credit cards or PayPal.
-
Companies registered within Magento as customers can place orders under the company's name.
-
PO is typically used in scenarios where multiple employees or departments within the same company make purchases.
2. PO Generation
-
When a customer adds products to the cart and proceeds to checkout, they can choose the PO option as their payment method.
-
The option appears alongside traditional payment methods if the company is approved for it.
-
The buyer either enters their PO or can auto-generate one. The number serves as a reference for the entire transaction.
-
The PO becomes the unique identifier for that specific transaction, similar to an order number. It helps with:
1. Tracking
2. Approvals
3. Subsequent actions like billing and shipping
3. Approval Workflow
-
Magento 2 supports custom workflows for handling PO. PO can be subject to an approval process depending on the business rules set up by the company.
-
If the company has different approval levels, the PO will be sent to approvers within the company. It is done before the order can be confirmed.
-
Approvers review and approve or reject the order based on the company’s procurement rules.
-
Only certain users, including company admins or managers, can approve the PO in the Magento system. It ensures proper oversight.
4. Order Processing
-
Once the PO is approved, the order moves forward to the fulfillment stage. It is where the merchant prepares to ship the goods or provide services.
-
The PO is associated with all the order records. It enables reference during the fulfillment process.
-
Magento automatically adjusts the stock levels based on the items ordered with the PO. It helps maintain an accurate inventory count.
5. Billing and Payment Handling
-
Once the products are shipped, Magento generates an invoice. The bill includes the PO, which ties back to the original order. It enables the buyer to match the bill with their procurement records.
-
Purchase order offers flexibility in terms of payment. The buyer’s company can pay for the order at a later date based on the agreed payment terms. The PO helps track outstanding payments.
-
Magento’s system can handle partial payments if the company does not pay the full amount at once. Each payment is logged and tracked against the PO.
6. Tracking and Reporting
-
Both the buyer and the seller can use the PO to track the status of the order and payment.
-
Merchants can check if a purchase order is:
1. Still pending approval
2. Processing
3. Shipped
4. Awaiting payment
-
The PO system integrates into Magento’s reporting tools. It allows businesses to pull reports on all orders placed with purchase orders.
-
The data helps:
1. Reconcile financial records
2. Conduct audits
3. Manage credit terms
5 Steps to Make PO Optional
1. Copy the purchase order form file:
vendor/magento/module-offline-payments/view/frontend/web/template/payment/purchaseorder-form.html
To your theme folder:
app/design/frontend/\[Vendor\]/\[Theme\]/Magento\_OfflinePayments/web/template/payment/purchaseorder-form.html
If the purchaseorder-form.html file already exists in your theme, edit that file directly.
2. Search the code in the purchaseorder-form.html file.
\<div class="field field-number required"\>
\<label for="po\_number" class="label"\>
\<span\>\<\!-- ko i18n: 'Purchase Order'--\>\<\!-- /ko \--\>\</span\>
\</label\>
\<div class="control"\>
\<input type="text"
id="po\_number"
name="payment\[po\_number\]"
data-validate="{required:true}"
data-bind='
attr: {title: $t("Purchase Order")},
value: purchaseOrderNumber'
class="input-text"/\>
\</div\>
</div>
3. Modify the code
\<div class="field field-number"\>
\<label for="po\_number" class="label"\>
\<span\>\<\!-- ko i18n: 'Purchase Order--\>\<\!-- /ko \--\>\</span\>
\</label\>
\<div class="control"\>
\<input type="text"
id="po\_number"
name="payment\[po\_number\]"
data-bind='
attr: {title: $t("Purchase Order")},
value: purchaseOrderNumber'
class="input-text"/\>
\</div\>
</div>
di.xml
file at:
4. In your custom module, create or update the app/code/\[Vendor\]/\[Module\]/etc/di.xml
Add the code:
\<?xml version="1.0"?\>
\<config xmlns:xsi="[http://www.w3.org/2001/XMLSchema-instance](http://www.w3.org/2001/XMLSchema-instance)"
xsi:noNamespaceSchemaLocation="urn:magento:framework:ObjectManager/etc/config.xsd"\>
\<type name="Magento\\OfflinePayments\\Model\\Purchaseorder"\>
\<plugin name="purchase\_order\_validate" type="Vendor\\Module\\Plugin\\Model\\Purchaseorder"/\>
\</type\>
</config>
5. Create the Purchaseorder.php file at
app/code/\[Vendor\]/\[Module\]/Plugin/Model
Add the code:
\<?php
namespace \[Vendor\]\\\[Module\]\\Plugin\\Model;
class Purchaseorder
{
public function aroundvalidate($subject, $proceed)
{
// check PoNumber is empty or not
if (empty($subject-\>getInfoInstance()-\>getPoNumber())) {
return $this;
}
return $this;
}
}
Now, one can place an order without entering a purchase order.
How to Configure Purchase Order Payments?
-
On the Admin sidebar, go to Stores > Settings > Configuration.
-
In the left panel, choose Sales > Payment Methods.
-
Scroll down to the Other Payment Methods section.
-
Expand the PO option.
-
Set Enable to Yes to activate purchase orders for your store.
- Set the following settings:
a. Title: Enter a new title to change or leave the default of “Purchase Order” to remind you of this payment during checkout.
b. New Order Status: Choose Pending for new orders to wait until admins authorize receipt of payment.
c. Payment for Applicable Countries: Choose All Allowed Countries to make this payment method available in all countries. Choose Specific countries to make it only available to selected countries.
d. Payment from Specific Countries: The setting appears only when you choose Specific Countries in Payment for Applicable Countries. You can select your desired country in this field.
e. Minimum Order Total: Set the minimum allowed amount to apply for a purchase order.
f. Maximum Order Total: Set the maximum quantity allowed to qualify the order.
g. Sort Order: Enter a number to determine the position of Purchase Order Payment in the payment methods list on the checkout page.
7. Once you have configured the settings, click the Save Config button in the upper-right corner.
Benefits of Using PO in B2b?
1. Simplify Procurement Process
-
PO simplifies the ordering process for companies. It allows them to place orders without immediate payment.
-
It reduces friction when placing large or frequent orders. Corporate buyers can place an order and pay later based on agreed terms.
-
Business-to-business allows companies to set up approval workflows. Orders using purchase orders can go through a multi-step approval process before being confirmed. It ensures that all purchases follow the company's procurement policies.
2. Credit-Based Purchasing
-
PO enables businesses to operate on credit. It allows buyers to receive goods or services upfront and pay for them later.
-
It helps companies that need flexibility in managing cash flow, especially for large orders.
-
Sellers can offer trusted customers the ability to order on credit. It helps build stronger business relationships and encourages repeat orders.
-
Buyers benefit from managing cash flow better by delaying payment until a later date.
3. Improved Tracking and Accountability
-
PO acts as a unique identifier. It helps track and manage orders easily.
-
Both the buyer and the seller can reference the PO for:
1. Invoicing
2. Reporting
3. Follow-up purposes
-
Using PO improves accountability for businesses dealing with multiple orders and suppliers.
-
Each number ties back to a specific transaction. It allows companies to maintain accurate records for:
1. Auditing
2. Tracking
4. Enhanced Order Management
-
The use of PO simplifies communication between buyers and sellers.
-
Buyers can easily reference the PO when:
1. Requesting updates
2. Making inquiries
3. Resolving issues with their orders
-
Companies that place frequent or bulk orders can better organize and manage their transactions with PO.
-
It helps prevent confusion and ensures that large-scale procurement runs smoothly.
5. Supports Multi-Level Approvals
-
Business-to-business allows businesses to set up multiple approval levels for purchase orders.
-
It helps companies with strict procurement policies. It ensures that all orders are reviewed and approved by authorized personnel before processing.
-
By incorporating approval workflows, companies can better manage their purchasing budgets. It also ensures that all purchases align with company policies. It helps prevent unauthorized or excessive spending.
Top 2 Magento 2 PO Extensions
1. Magento Purchase Order (PO) - Webkul
Webkul’s purchase order (PO) extension allows merchants to create purchase orders and request quotations. The extension also helps manage incoming shipments and update incoming product information easily.
Key Features:
-
Create auto or manual procurement methods.
-
Generate the default prefix for the PO.
-
The admin can send quotations and purchase order emails.
-
Add any comments to the PO and incoming shipment.
-
Add suppliers to a product by specifying – cost, quantity, and priority.
-
Manage suppliers’ incoming shipments and products.
-
Update information about the partial shipments.
-
Create an automatic purchase order when any product goes out of stock.
-
Create a purchase order instead of a sales order.
Price:
- Magento Open Source Edition: $ 298 (12 months)
- Magento Adobe Commerce Edition: $ 597 (12 months)
2. Advanced Purchase Order for Magento 2 - Navigate Commerce
Navigate commerce’s advanced purchase order extension to ensure added security to your order and authenticate the order processing. Purchase orders help both buyers and sellers facilitate the buying process. The advanced purchase module allows them to secure and authenticate their orders. It is compatible with Magento 2.2.x, 2.3.x, 2.4.x.
Key Features:
-
Allows buyers to add PO and Documents while submitting orders.
-
Admin can validate and authenticate the orders.
-
No additional process is required to process the order.
-
Help merchants to reduce manual operations.
-
An extra layer of authentication for purchase orders.
Price:
- Magento Open Source Edition: $ 299 (12 months)
- Magento Commerce Cloud Edition: $ 499 (12 months)
FAQs
1. How does Magento support businesses that cannot immediately pay the value of an order?
It offers a flexible payment option for businesses that may not be able to pay the full amount upfront. It allows companies to receive goods or services and settle the payment later. It ensures smoother cash flow management.
2. Can businesses prepay customers' bills?
It allows store owners to offer prepayment options for customers' bills. It ensures that businesses can secure transactions and complete orders ahead of time. It helps simplify the ordering process.
3. What makes order management necessary for businesses?
Order management helps businesses that handle large or frequent transactions. It helps track orders, manage approvals, and improve overall workflows. It ensures that every order is processed accurately and on time.
4. Why is a flexible payment option important for business-to-business stores?
A flexible payment option helps stores accommodate companies that may have extended payment terms. The option allows for smooth transactions while maintaining strong business relationships.
Summary
Magento 2 purchase order numbers enable companies to place orders without immediate payment. The tutorial uncovers several key points of the feature, including:
-
Businesses can pay using purchase orders, which are integrated with billing.
-
PO tracks transactions and simplifies order management.
-
Custom workflows and multi-level approvals ensure compliance.
-
Business-to-business enables flexibility through credit-based purchasing.
Simplify your B2B transactions with purchase order management on managed Magento hosting.