← CORDILIOConceptual demonstration with fictitious data. Some capabilities are still under development. This is not a financial or tax report.
Multi-broker portfolio auditor · demonstration

Does your portfolio not match your brokers' data?

It is not simply about displaying your portfolio, but about helping you check whether its figures match the transactions and documents available.

What we aim to achieve

Detect inconsistencies

Goal: flag sales without a purchase, repeated rows and positions that do not add up.

Today: the engine covers only part of this (see “What exists today and what does not”).

Rebuild histories from documents

Goal: indicate which document is missing and, if there is evidence, propose how to recover the cost without inventing it.

Today: it does not exist. A manual simulation showed that it is possible.

Leave a traceable record

Goal: for every conclusion to state which file and row it relies on.

Today: the engine keeps the source of each row; a record the user can read does not exist yet.

Each block carries a label: ✔ CURRENT ENGINE · verified ◑ MANUAL SIMULATION · not a feature ◇ FUTURE AUDITOR · proposed design

Three common situations

A fictitious investor bought 100 shares of Security N at Broker Alfa (2021), transferred them to Broker Beta (2023) and sold 60 (2025). She only keeps Alfa's history from June 2022. Which document does she provide?

Broker Alfa history

DateTransactionQuantityPriceAmount
Before 06/2022: no document provided (the original purchase was here)
10 Mar 2021Cash deposit——$4,000.00
10 Mar 2021Purchase · Security N100$40.00$4,000.00
14 Jun 2022Cash deposit——$1,000.00
5 Sep 2022Purchase · Security Z50$12.40$620.00

This file records no outgoing movement of Security N: the transfer only appears at Beta.

Broker Beta history

DateTransactionQuantityPriceAmount
16 May 2023Transfer in kind (incoming) · Security N
Stated source: Broker Alfa · market value $4,500.00
100no price—
14 Feb 2025Purchase · Security Z30$15.00$450.00
12 Mar 2025Sale · Security N60$71.00$4,260.00

A $1.00 fee on each Beta transaction (not shown in the columns).

See the step by step (4 steps)
The document is not there. The history provided starts in June 2022: the purchase of 100 shares at $40 does not appear anywhere. The purchase is recorded: 100 shares of Security N at $40.00 ($4,000) on 10 Mar 2021.

What happens with this sale?

✔ CURRENT ENGINE · verified in the PoC
  • YES Detects that history is missing: it marks the sale as “unresolved cost” and warns of an incomplete history.
  • YES Does not invent the gain: the result of that sale stays “not calculable”.
  • NO Does not link the two brokers. The source (“Broker Alfa”) stays as a text note, but the engine does not use it.
  • NO Shows 0 shares at Beta when in fact 40 remain (100 − 60). The internal accounting checks stay green (18 out of 18).
  • NO Even if you provide Alfa's complete history, the engine does not link them: Alfa still shows 100 open shares and Beta's sale still has no purchase.
See the engine's literal warning
“An attempt is made to close 60.00000000 units but there are only 0.00000000 in open lots. 60.00000000 are missing: the history is incomplete. Units without a lot are closed at identified cost 0, not invented.” (translation of the original Spanish warning)

The four auditor statuses

◇ PROPOSED DESIGN They are part of the design of the independent auditor, not of a finished feature.

✔ VERIFIED

The checked data matches the available evidence, within the stated time and document scope.

Example: the calculated position matches the statement and another independent source.

≠ DISCREPANCY

Two documentary sources present incompatible information.

Example: your history says 0 and the statement says 40.

… INCOMPLETE

A transaction or document needed to rebuild the history is missing.

Example: a sale without the purchase that gave rise to it.

? UNVERIFIABLE

There are not enough independent sources to verify the result.

Example: two identical purchases and only one statement from the same broker.

Evidence rules of the design
  1. VERIFIED requires at least two documentary sources that are independent of each other. Two sections of the same statement count as a single source and are declared as such.
  2. A user confirmation is not documentary evidence. It allows a provisional figure to be shown, but not verified.
  3. That positions match transactions does not prove that nothing is missing: an omitted movement can offset another.
  4. “Provisional” marks a tentative figure or decision that depends on a single source or on a confirmation. It never accompanies VERIFIED.
  5. Units and cost are assessed separately: a position can have verified units and incomplete cost.
  6. Every verification states its scope (dates and documents) and certifies nothing outside it.
  7. In a portfolio the worst status prevails; with a significant mismatch it is never “verified”.

What exists today and what does not

Checked with the proof of concept on fictitious documents: 3 capabilities exist, 5 do not yet and 1 is out of scope.

See the full table
CapabilityCurrent engineFuture auditor
Alert when a sale has no purchase behind it✔ Yes (tested)With explanation and a request for documents proposed
Link a transfer between brokers and carry over the cost✘ No
Possible only with a manual simulation
With user confirmation proposed
Discard duplicates between overlapping files✔ Yes (tested)Kept
Detect a repeated row within the same file✘ NoWithout deleting; decides according to the evidence proposed
Correct a small price error between two sources (≈3%)✔ Yes (tested)Kept
Prevent a large price or quantity error from creating an additional transaction✘ No (it duplicates the purchase)It would flag it as a discrepancy proposed
Compare calculated positions with those declared by the broker✘ No, not in generalWith four statuses proposed
Process a portfolio with only these brokers, without depending on our own portfolio✘ Not without changesIndependent module proposed
Tax calculation✘ Not the goal of this demonstration✘ Not included

Want to know when it is available?

This page does not send or save anything. Early access is not open yet: when it is, you will be able to sign up from the main page.