Two departments, two revenue figures
We agree the definitions in writing. Sales counts at order date, finance at invoice date, and somebody subtracts marketplace returns a month later.
In many companies the sales pack is born like this: somebody exports the month out of Sage or Cegid, pastes a marketplace statement beside it, subtracts commission and carriage by hand, then emails the workbook round the management team first thing on Monday. Three days of effort every month, and about as many competing versions of reality. We tidy the underlying records, bring the sources together in one place and build reports that refresh on their own.
First order in the base records, then a shared warehouse and dashboards; alongside them, automatic reading of the documents that keep arriving as PDF files and on paper. Taken separately each one helps; taken in that order they stop you from building handsome charts on wrong figures.
A single entry for each customer and each article: identities checked against public business registers, duplicates merged, creation rules written down and enforced. Without it, a warehouse simply surfaces the same chaos at higher speed.
Sales from Sage, EBP or Odoo, orders from your PrestaShop store, marketplace statements and advertising spend all land in one database hosted in Europe. Reports built on top of it show identical figures whoever opens the page.
Electronic invoicing is slowly structuring invoices between French companies, but foreign suppliers, delivery notes, transport documents and contracts remain. Those are read automatically, then checked and approved by a person.
The request nearly always opens with a wish for a dashboard. Ten minutes into the conversation the real obstacle surfaces, and it is usually one of the five cases below.
We agree the definitions in writing. Sales counts at order date, finance at invoice date, and somebody subtracts marketplace returns a month later.
We clean up, then set rules. Martin et Fils, MARTIN ET FILS and an entry with no identifier become three unrelated firms as soon as a report groups them.
We automate the loading. Spreadsheet exports and hand reconciliation swallow whole days of your controller, month after month.
We set the refresh rhythm. If a line empties quicker than the weekly extract lands, reordering turns into guesswork and shortages follow.
We switch on document capture. Lines from supplier notes and from invoices arriving out of Germany or Asia are still keyed in by hand, one at a time.
A dashboard repairs nothing, it merely puts make-up on the numbers. A workbook glued together by hand has at least one merit: somebody reads every line and now and then spots the absurdity. A polished chart looks authoritative, so it goes unchallenged even while duplicate records visibly inflate the count of active customers. That is why data quality gets measured before the first chart is drawn, and why you see the anomaly counts instead of a tidy workaround.
Stage one covers a single area, most often sales or stock levels, with a short list of indicators. Further departments arrive after the first report has entered the weekly routine. All of it happens remotely, over a protected connection into your systems.
Together with accounting and sales we record on paper the formulas behind revenue, margin and returns. Skip that and the first review meeting becomes an argument about whose number is right.
We list the ERP, the shop, the marketplaces and the unofficial spreadsheets. For each one: an owner, a means of access and the personal data fields to enter in the record of processing activities.
We place the new report beside the existing workbook and walk down both columns. Nothing automated goes in front of management until every gap has an explanation.
More departments and more indicators follow. The model and the loading already exist, so each further report costs noticeably less than the first.
If your company already runs on Microsoft 365 and the numbers sit in an ERP plus a SQL database, Power BI is normally the better fit: modelling is solid and permissions reuse accounts you already own. Metabase, installed on your own hosting, suits teams that want to query PostgreSQL directly without a licence per user. Both can sit above the same warehouse, and we give you the full cost of each option before you choose.
It should not. Reads happen overnight, or in short bursts, ideally through an application interface or against a replica, instead of heavy queries while everyone is working. That is precisely why a separate warehouse exists: reports question an organised copy while the sales team carries on entering orders without waiting for the next screen.
On your account with OVHcloud, Scaleway, Clever Cloud or an equivalent host in a European region, or on a machine in a data centre you already use, if you prefer that. A processing agreement frames our involvement and rights are cut by role: sales management sees everything, a sales representative sees their territory and their customers. Report openings are logged, which makes answering your DPO straightforward.
If the underlying records are reasonably tidy, a first report lands quickly and most of the effort goes into settling definitions. When the database holds thousands of duplicates, cleaning becomes the real project and the timescale changes entirely. So we quote a date after looking at your data, never during the first meeting, and the work is billed as a fixed price or at EUR 95/hour excl. VAT with an agreed ceiling.
Tell us which reports are still assembled by hand and where the numbers disagree. We will look at the source systems and say what to tackle first.
Message received
An answer follows inside one working day. Report an outage that is stopping people working and it moves ahead of everything else.
Nothing here under that name. Check the spelling, or simply choose the nearest large city instead. Since every engagement runs remotely, whichever you pick changes nothing about what we do for you.