Upgrading from Payment on account 1.x to payment terms

What the upgrade does, how to import old orders as paid or open, and what to check afterwards.

⏱ 5 minAdvancedUpdated 14 Oct 2026

This guide is only for shops that already used Payment on account (version 1.x). Version 2 keeps the module name and the payment method code, so orders placed with version 1 keep their method. It adds receivables, terms and a credit limit.

Before you start

  • a database backup,
  • access to the server for bin/magento commands.

1. What the upgrade does

The command bin/magento setup:upgrade creates the customer attribute odlog if the shop does not have it (version 1 never created it), and copies every customer with a term above zero to an approved profile with that term. The credit limit stays empty, which is the shop default and that is "no limit" until you set one. The upgrade only adds: customers who already have a profile are left alone and the attribute is not changed. You can run the same copy yourself:

bin/magento magelan:payment-terms:sync --attribute

2. Old orders have no receivable

Orders placed with version 1 have no receivable. First look at what would be written:

bin/magento magelan:payment-terms:sync --dry-run

How such orders are counted is decided by a setting:

Stores › Configuration › Magelan › Payment terms › General

The field Orders paid on account before version 2 has two values: Paid (nothing owed) is the default and the safe one (Magento cannot know whether they were paid, and a mistake would block customers), and Open (owed until you mark them as paid) counts them as debt until you mark them. The upgrade imports them with this setting, and the command does too. You override the setting with a command option:

bin/magento magelan:payment-terms:sync --as=open
bin/magento magelan:payment-terms:sync --as=paid --since=2026-01-01

--as=paid|open overrides the setting, --since=YYYY-MM-DD starts with orders from that day on.

3. Check after the upgrade

  1. Open Sales › Operations › Open receivables and check that the numbers match what you expect.

  2. For a few customers read the line What applies now on the Payment terms tab.

  3. Set the default credit limit and, if needed, the rules by customer group (credit limit).

  4. Test an order with an approved test customer.

Version 2 offers the method by the cart, not by the session, so Payment on account is now also available when you create an order in the admin for an approved customer. The payment block no longer prints its own "Payment method:" line; the standard block shows the title and the rows of this extension.

Common problems

After the upgrade customers suddenly cannot pay on account

Check that the customer got a profile (the Payment terms tab) and that Payment on account is enabled under Payment Methods. The upgrade approves the old customers with a term above zero by itself.

Old orders block the credit limit

You imported them as open. Mark them as paid in Open receivables, or repeat the import with the other setting.

Was this article helpful?

Related