DataMosaic

We make your
job different.

The POS says 91. The ERP says 86. The warehouse says 88. DataMosaic checks them all at once, tells retail IT why they disagree, and fixes it before anyone else notices — so the morning starts with the answer, not the search.

Daily sales — POS ↔ ERP Demo workspace · Thu 19 Nov, 04:00
Live · the run, step by step
  1. Reading the parametersstoreId = ALL
  2. Reading POSOracle · net sales for 6 stores
  3. Reading ERPSQL Server · the same day, as posted
  4. Comparing POS ↔ ERP6 rows · 3 match · 2 differ · 1 on one side only
  5. Investigating the 3 rows that disagree3 of 3 ended on a reason
  6. Saving the runKept in History
Result · 3 to look at, each with its reason
Daily sales — POS ↔ ERP 3 match2 differ1 missing
StorePOSERPΔ ERPStatusWhy
ST-00412,480.5012,480.500.00Match—
ST-0118,120.008,120.000.00Match—
ST-01412,400.0011,920.00−480.00DiffersThe ERP refused 2 receipts: a line with no tax code
ST-0226,410.755,383.75−1,027.00DiffersTill 2 never posted: 1,027.00 stuck in the posting queue since 23:40
ST-0379,875.009,875.000.00Match—
ST-0417,212.40—−7,212.40Missing in ERPNew store: no site code in the ERP yet, so its day was set aside

ST-014: two receipts refused for a missing tax code · ST-022: till 2's posting failed · ST-041: not mapped in the ERP yet

Drawn the way Mosaic draws a run, from its demo workspace. Every store, article and figure in it is invented.

How you check your numbers today

Scripts, cron jobs, spreadsheets — and one person who knows.

If that's how your numbers get checked, it works. Until the script breaks, the job fails quietly, or the one person who knows is on holiday.

The script

Written once, by somebody who has since left. The ERP upgrade renamed a column, and it has failed every night since.

compare_sales.ps1 · last edited 14 months ago
PS C:\checks> .\compare_sales.ps1 -Date 2026-09-18
Connecting to POS ........ ok
Connecting to ERP ........ ok
Comparing 48 stores ...
Invoke-Sqlcmd : Invalid column name 'STORE_ID'.
At compare_sales.ps1:41 char:3
PS C:\checks>
Failing every night since 3 Sep

The cron job

Runs at 04:00 on one server. Fails at 04:00 on one server. Its output goes nowhere, so nobody hears.

crontab · store-reports-01
0 4 * * * /opt/checks/stock_vs_wms.sh > /dev/null 2>&1
Mon 14 Sep · 04:00exit 1
Tue 15 Sep · 04:00exit 1
Wed 16 Sep · 04:00exit 1
Thu 17 Sep · 04:00exit 1
Fri 18 Sep · 04:00exit 1
Last 5 nights0 alerts sent

The spreadsheet

Two exports, a VLOOKUP and a filter — rebuilt from scratch tomorrow. The rules live on a sticky note.

diff_wed_FINAL_v2.xlsx
fx=VLOOKUP(A2,ERP!A:C,3,FALSE)
1StoreTillsERPDiff
2ST-0121,2041,2040
3ST-0179629620
4ST-024731#N/A#N/A
5ST-0318785-2
6ST-0381,0881,0880
7ST-099312#N/A#N/A

The phone call

When the files can't say why, somebody asks the store. And waits.

031ST-031Store manager
Morning — the ERP is 2 receipts short for 18 Sep. Can you check till 1?08:52
Busy till lunch, will look after.09:31
Any error on the till screen yesterday?13:05
Which receipts?15:48
Still open at 16:00

The tools aren't the problem. The problem is that nothing you learn today is still there tomorrow.

The question lives between your systems.

Your POS is right about the POS. Your ERP is right about the ERP. Nobody checks the places where they should agree — two of them, or all of them at once. That is where Mosaic works.

Pick the systems that should agreeTwo of them, or several at once
Tills ↔ ERP ↔ Payments · one check, all at once
TillsERPPayments3 systems, one check

Did what the tills took get settled, and booked?

What usually goes wrong

  • Settled by the acquirer, never posted in the ERP
  • Terminals closed on a different business day
  • Fees netted in one system only
Reads Oracle, SQL Server and a REST API Start from this check

Mosaic reads Oracle, SQL Server, SAP, Shopify, PostgreSQL, MySQL, Snowflake, REST APIs, and CSV or Excel exports. See every connector

Find the difference.
Then the reason.

Checks

Two systems or more, lined up store by store. Every row says whether it matches, differs, or is missing on one side.

Investigations

Ask why the way you would — did the whole day arrive? did the ERP refuse anything? — until there is an answer.

A check in Mosaic: Daily sales, POS against ERP, one row per store. ST-014 differs by 480 and ST-022 is missing in the ERP; the other stores match. A check in Mosaic: Daily sales, POS against ERP, one row per store. ST-014 differs by 480 and ST-022 is missing in the ERP; the other stores match. An investigation in Mosaic, “Why is this store short?”: from “Did the whole day reach the ERP?” to “Did the ERP refuse anything?”, ending at “A line with no tax code”. An investigation in Mosaic, “Why is this store short?”: from “Did the whole day reach the ERP?” to “Did the ERP refuse anything?”, ending at “A line with no tax code”.
Checks and investigationsLine up the systems store by store, then ask why until there is an answer.

Checks

Write it once. It runs on every store, every night.

Mosaic's Overview: 7 of 9 checks agreeing, 92.8% of rows matched on the latest runs, 98.4% of runs passed, and the runs per day over the last 14 days. Mosaic's Overview: 7 of 9 checks agreeing, 92.8% of rows matched on the latest runs, 98.4% of runs passed, and the runs per day over the last 14 days.
OverviewEvery check, every night, on one board: what agreed, what didn't, and how often.
3 systems, one check

Not just two systems. All of them, at once.

A day's VAT lives in the tills, the books and the invoicing platform. One check lines up all three, store by store, and says which one is out.

StoreTillsBooksPlatformVerdictWhy
ST-0041,240.501,240.501,240.50All agree—
ST-022980.20980.20941.80Platform shortRefused VAT code 10R
ST-0371,118.001,118.001,118.00All agree—

Workflows

Fixed through your systems' own doors.

A workflow in Mosaic, “Price batch missed a store”: when the price list and the tills differ, send the price batch again, run the check again, and email the store manager only if it is still different. A workflow in Mosaic, “Price batch missed a store”: when the price list and the tills differ, send the price batch again, run the check again, and email the store manager only if it is still different.
WorkflowsSend the batch again, run the check again, and email only if it still differs.
  1. You build it, step by step

    Send the batch again, run the check again, email only if it still differs.

  2. It does those steps, and nothing else

    A check only reads. Only an administrator's workflow acts.

  3. No AI decides what changes

    Every run is written down in Executions: what it did, and what it skipped.

Your morning

Same job. A different morning.

Without Mosaic
  1. “Why don't the numbers match?”
  2. An export from the tills, another from the ERP.
  3. A VLOOKUP, a filter, two #N/A.
  4. A call to ST-014. Busy till lunch.
  5. “Which receipts?”
With Mosaic
  1. The check runs on every store.
  2. Why: the ERP refused a line with no tax code.
  3. Your workflow sends it again.
  4. 48 of 48 stores agree. Nobody is emailed.
  5. You read one line. Then you do the rest of your job.

Runs where your data lives.

On your own server

Windows, macOS or Linux, inside your network. Installed as a service, it holds its schedules with nobody logged in. Nothing it reads is sent to us.

Download

Test it in Cloud

A workspace of your own with nothing to install. Start with the demo retailer or two exports while the connections wait for IT approval.

Create a workspace
22 s

From a difference to the receipts behind it, timed on the demo run.

0 rows

Sent to us when it runs on your own server.

Read-only

A statement that isn't a read is refused as it's typed, and again on the server.

Encrypted

Passwords, tokens and secret variables, at rest. Security

No per-store pricing.
No per-user tax.

Every feature is free while DataMosaic is in beta. When pricing starts, it grows with what your company does with Mosaic — never with how many stores or systems it reads.

Stores you checkWhile in beta

The bars are flat on purpose. Sources, stores and rows are never counted, on any plan.

Free betaNo card

€0 / month

  • Unlimited checks
  • Schedules
  • Investigations
  • Workflows
  • Monitors
  • Unlimited seats
  • Your own server
  • Unlimited workspaces
Get started

Paid plans arrive when the beta ends. Nothing you've built goes away. See the plans

Why I built DataMosaic

“In retail IT the morning question is always the same: the tills say one number, the ERP says another — why? Answering it meant an export, a VLOOKUP and a call to the store. And the next morning, a new spreadsheet. So I built the tool that answers it, fixes what it can, and remembers.”
YAYves AgbessiFounder, DataMosaic

Questions

Does my data leave my network?

Not when you run it yourself. Mosaic reads your systems from inside your network and nothing it reads is sent to us. The one thing an installation sends is a daily licence check-in — a key, an id and a version number — and it switches off in one click.

Will it change anything in my systems?

Only if you build a workflow to. A check only reads: a statement that isn't a read is refused as it's typed and again on the server, each run asks the database for a read-only session, and the docs give the read-only login to create for it. A fix is a workflow an administrator builds step by step, and it does those steps and nothing else. No AI changes anything.

Can one check cover more than two systems?

Yes. A check can line up three systems or more at once — the tills, the books and the invoicing platform, say — store by store, and it says which one is out.

What does it connect to?

POS, ERP, e-commerce, WMS and CRM systems; databases including SQL Server, Oracle and PostgreSQL; REST APIs; and files such as CSV and Excel exports.

How is this different from comparing two reports?

A comparison ends with a difference. Mosaic models the flow between the systems, so it can follow a difference back to the reason: a rejected record, a mapping error, a different business rule, or data that hasn't arrived yet.

Does it replace my ERP, POS or BI tool?

No. Mosaic sits across the systems you already run and checks the data moving between them. Nothing has to be rebuilt.

Can I try it without installing anything?

Yes. Create an account on Mosaic Cloud and you have a workspace of your own, with nothing to install. Or book a demo and see it on a call first.

What happens when the beta ends?

Paid plans start and Free becomes the entry column. Nothing you've built goes away: a limit stops the next thing being made and never removes what exists.

Who is behind DataMosaic?

Yves Agbessi, its founder. Write to support@getdatamosaic.com and it reaches the founder.

We make your
job different.

Connect two systems this morning. Tomorrow at nine, the answer is waiting.

Book a 15-minute demo