Magento 2 checkout address buttons are missing and the developer console shows a customAttributes error

For this kind of issue, it's really hard to find the root cause. Magento is hard, Js is hard.

My suggestion is to use Debugger.

  • Chrome Devtools: https://developers.google.com/web/tools/chrome-devtools/javascript

  • https://devdocs.magento.com/guides/v2.3/ui_comp_guide/troubleshoot/ui_comp_troubleshoot_js.html

  • Debugging KnockoutJs How to debug in ko template in magento 2?

Get our hands dirty: based on your first error. I will find address().customAttributes in html template.

enter image description here

I can see 3 html templates - Magento default:

vendor/magento/module-checkout/view/frontend/web/template/billing-address/details.html

vendor/magento/module-checkout/view/frontend/web/template/shipping-address/address-renderer/default.html

vendor/magento/module-checkout/view/frontend/web/template/shipping-information/address-renderer/default.html

In this case, we can put the debugger code in 3 templates:

<div data-bind="text: ko.computed(function() { debugger; })"></div>

When debugger is trigger. In Console tab, we can check the address() object.

enter image description here


I had exactly the same issue. I set a JS breakpoint in the line, which threw the error and looked at the attributes variable. There were multiple old attributes, which were migrated from M1. They lead to these issues. I simply deleted those old attributes in the database (table eav_attribute) and the error was gone.