What are the Magento 2 billing agreements? Where to find them? What is the workflow behind billing agreements? How do they simplify the life of your customers? You will find the answers in this article. Below, we continue our Magento 2 backend exploration; and today, Magento 2 billing agreements are the main topic of our discussion.'
Table of contents
Magento 2 Billing Agreements Definition
You can find a grid with billing agreements under Sales-> Billing agreements in the Magento 2 backend. It contains all billing agreements between you (your store) and your customers. As a store administrator, you have multiple ways to filter them. It is possible to filter the grid content by the customer or billing agreement information available in the following columns:
- ID – an ID number related to a customer;
- Email – a customer’s contact email;
- First & Last Name – a customer’s first and last name;
- Reference ID – a billing agreement reference ID;
- Status – Active or Canceled;
- Created – creation date;
- Updated – update date.
As you can see, each record provides you with general information about the billing agreement. You can even view the related sales orders (that have used a billing agreement as a payment method).
From the perspective of a store administrator, it is possible to view, cancel, or delete customer’s billing agreements. As for customers, they have a limited mandate. For instance, your clients cannot delete canceled billing agreements. Only a store administrator has the right to do that.
PayPal Billing Agreements in Magento 2
Magento introduces billing agreements as the ability to simplify the checkout process for your customers, who can use PayPal to leverage the functionality. On a checkout page, a billing agreement is available as a payment method. After a customer selects it, the system verifies the billing agreement by its number. After that, it charges the customer’s account.
Consequently, customers no longer have to enter payment information for each purchase.
We’ve already mentioned that they are a little bit limited in comparison to administrators from the perspective of billing agreement management. However, customers can edit their billing agreements from the customer account dashboard. The system shows whether the records are “Active” or “Canceled.” When a billing agreement is canceled, a customer can neither delete nor reactivate it.
Magento 2 Billing Agreement Workflow
First of all, a customer has to sign up for a billing agreement. It is possible to use one of the following methods to do that:
- Customer Account. Magento 2 lets customers sign up for a billing agreement in a customer account. It is a very convenient method since a customer can use the newly created billing agreement on checkout.
- Checkout. However, creating a billing agreement is also a piece of cake is a customer uses PayPal Express Checkout. It is possible to mark a checkbox to create a billing agreement right on a checkout page. Unfortunately, the corresponding billing agreement is only available for the next order. It is still necessary to pass the default checkout workflow for the current one.
- Admin. A customer can create a request, asking your administrators to create a sales order based on the corresponding billing agreement.
Now, when a billing agreement is in place, a customer can create additional billing agreements. However, it is possible to generate them in the customer account. Note that the number of billing agreements per customer is unlimited.
Every time a customer places an order using a billing agreement, Magento 2 transfers the billing agreement reference ID and sales order payment details to PayPal. It also records the corresponding information, including reference data, in a customer account. Next, PayPal has to authorize the payment to create a new order in Magento. The payment system provides both the customer and store with a billing agreement reference ID. That’s it!
How to Import & Export Magento 2 Billing Agreements
Now, when you know where to find and how to manage Magento 2 billing agreements, let’s say a few words about the corresponding import and export processes. For instance, you already have billing agreements in the database of your old Magento 1 store but want to migrate to a new Magento 2 website. You need to transfer the corresponding records. However, neither Magento 1 nor Magento 2 lets you do that. The corresponding import and export tools don’t work with all the core Magento entities. Therefore, some data transfers are possible only if you use a third-party solution. Such tools as the Improved Import & Export Magento 2 extension dramatically extend the default data transfer capabilities. Our module not only works with all the core Magento 2 entities but also simplifies connections with the extended list of connection types and file formats. As a result, you can leverage Improved Import & Export not only for the migration to Magento 2 but also for the integration with any external system.
When it comes to the migration to Magento 2, it is also necessary to mention the free add-on for Magento 1 to Magento 2 Migration. It works on top of the extension, providing additional data transfer capabilities. You can leverage both solutions to import and export Magento 2 entities from a user-friendly admin interface or via CLI commands. Note that the add-on introduces a selective approach to migration. It means that you move entity by entity, eliminating downtime. Consequently, it is necessary to reindex when you finish a transfer.
As for the improved import Magento 2 workflow, it consists of the following steps:
- First of all, you create a new job;
- Next, you enable it and specify general details;
- After that, it is necessary to choose an entity you are going to transfer and configure some other parameters of the data transfer;
- Now, you can Save & Run the job.
Note that the Improved Import & Export Magento 2 extension lets you automate both import and export processes with cron schedules. Besides, it provides the ability to use API and Google Sheets to transfer data to your e-commerce website. And, as we’ve already mentioned, it supports different file formats and lets you import data files in archives. Besides, you can automatically edit attributes with mapping presets. You can find more information about the module and its add-ons here: