Most customer portals do not die of bad design; they die of stale data. A customer logs in, sees an invoice from three weeks ago marked “open” when they paid it long ago, and calls anyway. From that moment they no longer trust the portal — and you are back to emails and phone calls. Our earlier article on customer portals covered why a portal pays off; this one is about the part that decides whether it keeps paying off: the integration with the systems where the truth lives.

The portal is a window, not an archive

The most important design decision is one you never see: the portal stores as little as possible itself. Invoices come from your accounting, order status from your stock or project system, contact details from your CRM. The portal fetches what it needs and shows it — it does not become a second administration that also has to be maintained.

That sounds obvious, but the opposite happens often: someone exports a list of invoices to the portal every week. That works exactly until the first payment that lands between two exports.

What an integration with Exact Online or Moneybird does

Both packages have an API: a way for other software, with your permission, to read and add data. A portal integration usually uses three parts of it:

  • Fetching invoices and payments per customer — number, date, amount, status, and the PDF itself. So a customer always sees the current position, even if they paid this morning.
  • Reading customer records to know who is logging in and which invoices are theirs. This is the most sensitive part: the link between “this user” and “this debtor number” has to be right, or customer A sees customer B’s invoices.
  • Writing something back — for example, placing an order made in the portal as an order or draft invoice in the package. Not every portal needs this, and it is the part that needs the most careful testing.

The differences between the packages are in the details: how you authenticate on behalf of your company, how many requests per minute are allowed, and how payments are matched to invoices. Read more about our Exact Online integration and Moneybird integration.

What goes wrong with “just calling an API”

An integration can be demonstrated in an afternoon and only becomes reliable over weeks. The problems live at the edges:

  • Rate limits. Every package caps how many requests you may make per minute. A portal that refetches everything on every page hits that cap on a busy day and shows errors. Sensible caching, refreshed in time, is half the work.
  • Data that is slightly different. An invoice that is “partially paid” in the package, a credit note offset against two invoices, a customer with two debtor numbers. The integration has to know those cases, or the portal shows nonsense with a straight face.
  • Access that expires. API permissions lapse; if that is not handled you have a portal that stops on a Sunday. A good integration renews itself and reports when it cannot.
  • Showing too much. The API often returns more than the customer should see — purchase prices, internal notes, margins. Filtering happens on your side, before anything reaches the browser, never after.

What you pass on, and what you don’t

A customer portal processes personal data, and the integration decides which. Our rule: the portal only gets what the screen needs. No full customer file “just in case”, no bank details when only an invoice status is shown. That is not just proper under the GDPR; it also makes the portal simpler and faster.

When you need this — and when not yet

An integration pays off once customers regularly ask for information that sits in your package: resending invoices, payment status, “what did I buy from you last year”. Check it with our automation ROI calculator: enter how many of those questions you get a week and how long they take. At a handful a month, a good email template wins; at dozens a week, the portal wins.

What it costs

A portal with login, invoices and payment status from Exact or Moneybird, and a secure integration that maintains itself, starts around 7,500 euros. Add ordering or document uploads and it grows with it. Running costs stay low: hosting and the package’s API access. See our pricing for the ranges, or request a quote with your own situation.

In short

A customer portal is as good as the data it shows. Connect it to the source, fetch only what is needed, handle the edge cases, and let the integration maintain itself. Then it really does save the emails it was meant to — three months in as well.