If the customer selects the payment method "Invoice" and we create an invoice in admin, status is always set to "paid". But that is not correct, because the customer did not pay yet.

So how can I change the status of an invoice?

  • Did you resolve this?
    – maxo
    Apr 10, 2020 at 7:26

2 Answers 2


AFAIK there's no backend configuration for this. Official docs for plugins in Magento 2: https://devdocs.magento.com/guides/v2.2/extension-dev-guide/plugins.html

You could create a plugin that sets the invoice status to "Pending" whenever an invoice is created. Maybe this answer can lead you in the right direction: Change invoice status in DB

After that, you can proceed to add methods that a backend user can change the invoice status.


When creating there should be a drop-down for Payment Action see end of this dev doc page. Selecting Not Capture should...

When the invoice is submitted, the system does not capture the payment. It is assumed that you will capture the payment through Magento at a later date. There is a Capture button in the completed invoice. Before capturing, you are able to cancel the invoice. After capturing you are able to create a credit memo and void the invoice.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

Not the answer you're looking for? Browse other questions tagged or ask your own question.