Skip to content

Home » Proiecte » Client portal for accountants: documents on time, filed by month

Typical project

Client portal for accountants: documents on time, filed by month

How we build the portal where an accounting firm’s clients upload their documents month by month, see what is missing and receive their statements, with roles, an access log and two-step verification.

At month end, an accounting firm receives documents from every direction: scanned invoices by email, photos of receipts on WhatsApp, bank statements brought in on a USB stick. A client portal for accountants gathers them in one place, behind a login: each company uploads its documents to the month they belong to, and the accountant sees straight away what has arrived and what is missing.

Some invoices can be pulled straight from e-Factura, Romania’s national e-invoicing system, if you have access rights for that company in Spațiul Privat Virtual (SPV), the online portal of ANAF, Romania’s tax authority. That leaves everything that does not pass through it: bank statements, receipts, contracts, timesheets, staff documents, in other words the very documents containing personal data that you do not want on an insecure channel.

Where the time goes at month end

The trouble is not that documents fail to arrive, but that they arrive in any form and at any time. The same bank statement turns up twice, an invoice is photographed at an angle, a leasing contract never arrives at all. The accountant keeps track in a spreadsheet of their own and writes to each company with a message along the lines of “I still need…”.

The client, for their part, does not know whether what they sent is complete, so they phone. And when several accountants are involved, nobody has the full picture: which companies are ready to be worked on and which are putting the filing deadlines for returns at risk.

Client portal or shared folder: where the line falls

A file-sharing system (Google Drive, OneDrive, a space on the office server) is enough if you have a few disciplined clients and one person who deals with them: one folder per company, with subfolders by month, and the transfer is taken care of cheaply.

But a shared folder knows nothing about your work. It has no statuses, sends no reminders and does not show you who has not sent their bank statement. An application of your own is worth it when the signs below start to appear.

  • Volume: the question “who has sent what” takes up whole hours of your time every month.
  • Team: several accountants work on the files and you want the same rule for everyone, not a personal spreadsheet each.
  • Traceability: you want to be able to show when a document was uploaded and who opened it.

The month as the unit of work: uploads, statuses, document requests

Each company has a space for each month, divided into categories agreed together (purchase and sales invoices, bank statements, cash records, payroll, contracts). The client drags files in from their computer or photographs the document with their phone.

The month has a status that both sides can see, and each change of status triggers notifications. The question “did you get it?” disappears.

  • Received: the documents have arrived and are waiting to be picked up.
  • In progress: the accountant has started posting the entries; anything uploaded after that is flagged separately.
  • Documents missing: the accountant ticks what is missing and the client receives the list by email.
  • Closed: the trial balance, the taxes due and the filing receipts for the returns appear in the area for documents from the accountant.
  • Reminders: ahead of your deadline, companies that have uploaded nothing automatically receive a message.

Who sees what: roles, access log, file protection

We work with three roles. The client sees only their own company and can have colleagues with restricted rights, for example someone who uploads documents but cannot see the payroll records. The accountant sees the companies assigned to them. The office administrator manages accounts and assignments.

The access log records who logged in, what they uploaded, what they downloaded and what they deleted, so any question about a document is settled quickly.

  • Two-step verification: on top of the password, a code generated by an app on the phone.
  • Encryption: an HTTPS connection and files stored encrypted, outside the public area of the server, and downloaded only after access rights have been checked.
  • Backup: automatic copies kept somewhere other than the server, with a restore tested periodically.
  • Retention and deletion: you set the periods with your lawyer or data protection officer, in line with GDPR and the statutory archiving periods for accounting documents.

From the list of categories to the first month worked in the portal

We usually write the application in Laravel, a PHP framework well suited to systems with accounts, permissions and files, with a MySQL or PostgreSQL database. Notifications go out through a job queue, that is, in the background, so the interface does not wait for the email server.

The accounting entries stay in the accounting software. If it accepts file imports or data exchange, a link can be added, after a separate analysis.

  • The initial conversation: how documents move around now, and which categories and internal deadlines you have.
  • Mock-ups: the client’s screen, the accountant’s screen and the wording of the notifications.
  • The trial month: a few patient companies work in the portal for a whole month.
  • Inviting the rest: in groups, with a short user guide.

Frequently asked questions

What do I do if some clients carry on sending documents by email or WhatsApp?

The accountant can upload the document on the client’s behalf, so the month stays complete. The rest comes down to a rule the office states clearly; the application makes discipline easier, but does not enforce it by itself.

What does the cost of a portal like this depend on?

On the number of roles and rules, on how detailed the statuses and document requests are, on integrations and on security requirements. We set the scope after the initial conversation.

Where are the documents hosted?

On a server or in a storage service chosen together, preferably in a data centre in the European Union. The hosting location and the contract with the provider go into your data protection documentation.

This is a typical project description: it shows how we usually approach this kind of work and does not present a project carried out for a particular client. Every real project starts from your company’s situation, and the stages, timescales and price are agreed after the initial discussion.

Want a project like this?

Write us a few lines about what you want to build or what no longer works. We will reply with concrete steps and a quote with a price for each stage.

WhatsApp