{"id":59,"date":"2026-09-22T22:05:28","date_gmt":"2026-09-22T22:05:28","guid":{"rendered":"https:\/\/errorx.co.uk\/?page_id=59"},"modified":"2026-09-22T22:05:28","modified_gmt":"2026-09-22T22:05:28","slug":"better-error-messages","status":"publish","type":"page","link":"https:\/\/errorx.co.uk\/?page_id=59","title":{"rendered":"Better error messages"},"content":{"rendered":"\n<section class=\"wp-block-group errorx-section errorx-example is-layout-flow wp-block-group-is-layout-flow\">\n<div class=\"wp-block-group errorx-container is-layout-flow wp-block-group-is-layout-flow\">\n<p class=\"errorx-eyebrow wp-block-paragraph\">Real example<\/p>\n\n\n\n<h1 class=\"wp-block-heading\">Better error messages<\/h1>\n\n\n\n<p class=\"errorx-lead wp-block-paragraph\">One real error message from Xero, what\u2019s wrong with it, and what a best-in-class version could look like.<\/p>\n\n\n\n<div class=\"wp-block-columns errorx-example__compare is-layout-flex wp-container-core-columns-is-layout-d55ad1a0 wp-block-columns-is-layout-flex\">\n<div class=\"wp-block-column errorx-example__before is-layout-flow wp-block-column-is-layout-flow\" style=\"flex-basis:42%\">\n<div class=\"wp-block-group errorx-example-panel errorx-example-panel--original is-layout-flow wp-block-group-is-layout-flow\">\n<h2 class=\"wp-block-heading errorx-example-panel__title\">Original Xero error message<\/h2>\n\n\n\n<div class=\"wp-block-group errorx-example-toast is-layout-flow wp-block-group-is-layout-flow\">\n<p class=\"wp-block-paragraph\">You have reached the limit of invoices you can approve.<\/p>\n<\/div>\n<\/div>\n\n\n\n<div class=\"wp-block-group errorx-example-panel errorx-example-panel--wrong is-layout-flow wp-block-group-is-layout-flow\">\n<h2 class=\"wp-block-heading errorx-example-panel__title\">What\u2019s wrong with this error message?<\/h2>\n\n\n\n<ul class=\"wp-block-list errorx-example-problems\">\n<li><strong>No error number<\/strong><br>Hard to reference or search for help.<\/li>\n\n\n\n<li><strong>Unclear and vague<\/strong><br>Doesn\u2019t explain why it happened.<\/li>\n\n\n\n<li><strong>No solution<\/strong><br>Doesn\u2019t tell you how to fix it.<\/li>\n\n\n\n<li><strong>No helpful context<\/strong><br>Doesn\u2019t explain the invoice hasn\u2019t been approved.<\/li>\n\n\n\n<li><strong>No links or resources<\/strong><br>You have to find help yourself.<\/li>\n\n\n\n<li><strong>No support contact<\/strong><br>No way to get in touch for assistance.<\/li>\n\n\n\n<li><strong>Frustrating for users<\/strong><br>Leaves you confused and uncertain.<\/li>\n<\/ul>\n<\/div>\n<\/div>\n\n\n\n<div class=\"wp-block-column errorx-example__after is-layout-flow wp-block-column-is-layout-flow\" style=\"flex-basis:58%\">\n<div class=\"wp-block-group errorx-example-panel errorx-example-panel--better is-layout-flow wp-block-group-is-layout-flow\">\n<h2 class=\"wp-block-heading errorx-example-panel__title\">What does a best-in-class error message look like?<\/h2>\n\n\n\n<div class=\"wp-block-group errorx-example-dialog is-layout-flow wp-block-group-is-layout-flow\">\n<h3 class=\"wp-block-heading errorx-example-dialog__title\">Error 005 \u2013 Monthly invoice limit reached<\/h3>\n\n\n\n<p class=\"errorx-example-dialog__summary wp-block-paragraph\"><strong>Sorry, you can\u2019t approve this invoice right now.<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Your Xero subscription has reached its monthly invoice allowance, so this invoice hasn\u2019t been approved. Don\u2019t worry, it\u2019s not lost \u2013 you can approve it once the limit resets or after upgrading your plan.<\/p>\n\n\n\n<div class=\"wp-block-group errorx-example-help errorx-example-help--cause is-layout-flow wp-block-group-is-layout-flow\">\n<p class=\"errorx-example-help__label wp-block-paragraph\">What\u2019s the cause?<\/p>\n\n\n\n<div class=\"wp-block-group errorx-example-help__body is-layout-flow wp-block-group-is-layout-flow\">\n<p class=\"wp-block-paragraph\">Your current Xero plan has a monthly limit on the number of invoices that can be approved. The limit is based on the invoice date, not the date it was created.<\/p>\n<\/div>\n<\/div>\n\n\n\n<div class=\"wp-block-group errorx-example-help errorx-example-help--fix is-layout-flow wp-block-group-is-layout-flow\">\n<p class=\"errorx-example-help__label wp-block-paragraph\">How to fix it<\/p>\n\n\n\n<div class=\"wp-block-group errorx-example-help__body is-layout-flow wp-block-group-is-layout-flow\">\n<p class=\"wp-block-paragraph\">You can either:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Upgrade your Xero subscription to a plan with a higher or unlimited invoice allowance, or<\/li>\n\n\n\n<li>Wait until your monthly allowance resets.<\/li>\n<\/ul>\n<\/div>\n<\/div>\n\n\n\n<div class=\"wp-block-group errorx-example-help errorx-example-help--more is-layout-flow wp-block-group-is-layout-flow\">\n<p class=\"errorx-example-help__label wp-block-paragraph\">More information<\/p>\n\n\n\n<div class=\"wp-block-group errorx-example-help__body is-layout-flow wp-block-group-is-layout-flow\">\n<p class=\"wp-block-paragraph\">See Xero\u2019s help article on invoice limits:<br><span class=\"errorx-example-link\">https:\/\/www.xero.com\/uk\/pricing-plans\/<\/span><\/p>\n<\/div>\n<\/div>\n\n\n\n<div class=\"wp-block-group errorx-example-help errorx-example-help--support is-layout-flow wp-block-group-is-layout-flow\">\n<p class=\"errorx-example-help__label wp-block-paragraph\">Need help?<\/p>\n\n\n\n<div class=\"wp-block-group errorx-example-help__body is-layout-flow wp-block-group-is-layout-flow\">\n<p class=\"wp-block-paragraph\">Our support team is here <strong>24\/7<\/strong>.<\/p>\n\n\n\n<p class=\"errorx-example-contact errorx-example-contact--phone wp-block-paragraph\">Call <strong>0800 246 7890<\/strong> (24\/7)<\/p>\n\n\n\n<p class=\"errorx-example-contact errorx-example-contact--chat wp-block-paragraph\"><span class=\"errorx-example-link\">Chat with us on WhatsApp<\/span><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Or visit: <span class=\"errorx-example-link\">https:\/\/www.xero.com\/uk\/support\/<\/span><\/p>\n<\/div>\n<\/div>\n\n\n\n<p class=\"errorx-example-dialog__button wp-block-paragraph\">Got it<\/p>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/section>\n\n","protected":false},"excerpt":{"rendered":"<p>Real example Better error messages One real error message from Xero, what\u2019s wrong with it, and what a best-in-class version could look like. Original Xero error message You have reached the limit\u2026<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"errorx-editable","meta":{"footnotes":""},"class_list":["post-59","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/errorx.co.uk\/index.php?rest_route=\/wp\/v2\/pages\/59","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/errorx.co.uk\/index.php?rest_route=\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/errorx.co.uk\/index.php?rest_route=\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/errorx.co.uk\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/errorx.co.uk\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=59"}],"version-history":[{"count":0,"href":"https:\/\/errorx.co.uk\/index.php?rest_route=\/wp\/v2\/pages\/59\/revisions"}],"wp:attachment":[{"href":"https:\/\/errorx.co.uk\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=59"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}