Un système à double entrée stocke les valeurs ensemble
(et effectue le solde/bilan des transactions):

états de la double entrée où value1+value2+value3+ ... = 0
et dont chaque valeur est enregistrée dans un compte différent.
Une valeur est : valeur=Taux de change*montant (pour les comptes de devises/monnaies)
           valeur=cours*nombre de parts (pour les actions/FCP et SICAV)

Ainsi, acheter un gadget au japon et utiliser des dollars pour le payer devrait apparaitre
commme ceci:

SpendAcct: (un compte banque/liquidités ordinaire libellé en USD)
----------
Date    transfert depuis       mémo               cout
1/5/99    [YenAcct]       Achat gadget        $1.00
 

YenAcct: (un compte d'achat/vente de devises libellé en yen)
--------
Date    transfert depuis       mémo           achat       taux
1/5/99    [SpendAcct]     Buy widget          Y150       0.00667
 

Le moteur lie ,toutes les trois, ces valeurs ensemble (1.0, 150, 0.00667)
en permanence et les rend imposssible à changer sans en changer une autre,
ainsi que la grande addition est toujours zéro.