add arcodange-bank-reco — Qonto + Wise reconciliation against Dolibarr
V6 — the first cross-system skill (under arcodange-* not dolibarr-*).
Closes the loop between what Dolibarr says (ERP-internal) and what the
bank actually saw.
What ships:
- arcodange-bank-reco/scripts/bank-curl.sh unified read-only wrapper for Qonto + Wise
- arcodange-bank-reco/scripts/bank-probe.sh auth + discovery (org slug, profile id, balances)
- arcodange-bank-reco/scripts/qonto-transactions Qonto txn lister with pagination + filters
- arcodange-bank-reco/scripts/wise-transactions Wise activity lister with --enrich for wire refs
- arcodange-bank-reco/scripts/bank-match.sh 3-bucket reconciliation (matched/bank-only/dol-only)
with internal Wise↔Qonto consolidation detection
- arcodange-bank-reco/scripts/bank-balance.sh live balances + Dolibarr cumulative-by-fk_account
The headline bank-curl.sh is SCA-aware (Wise RSA dance) even though we
don't end up using it: the EU statement endpoint is region-blocked
("Funding transfers and retrieving balance statements via API are not
supported except for accounts based in the US, Canada, Australia, New
Zealand, Singapore, and Malaysia" per Wise docs). The wrapper supports
SCA so when/if Wise opens it, we're ready.
The pivot that unblocked Wise incoming: /v1/profiles/{pid}/activities
(documented at https://docs.wise.com/api-reference/activity/activitylist.md)
returns ALL movements in a unified HTML-tagged feed, no SCA required.
Parsing strips the HTML and recovers structured amount/sign/currency.
CLI integration:
- bin/arcodange bank {probe,qonto-transactions,wise-transactions,match,balance,curl}
- dolibarr/SKILL.md catalogue + Pointers updated
- dolibarr/README.md env schema extended with QONTO_*, WISE_*
Live baseline findings to raise with the cohort review (captured in
examples/bank-match-2026-01-to-05.txt):
- Wise 2026-05-29 +2147 EUR Kissmetrics NOT YET in Dolibarr
- Qonto bank-only: MISTRAL.AI 172.68, CLAUDE.AI 180, URSSAF 493, FOUREZ +1000
- 6 movements matched cleanly across Jan-May 2026
- Wise→Qonto 5000 EUR consolidation on 2026-03-13 auto-detected as internal
- Live balance: Qonto 4191.54 + Wise 5308.25 = 9499.79 EUR
V7 candidates noted in SKILL.md out-of-scope: reference-based matching
via the Wise --enrich wire refs (FOR INVOICE FAC***), multi-row Dolibarr
sub-payment aggregation, smarter avoir cycle handling.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
24
.claude/skills/arcodange-bank-reco/examples/bank-balance.txt
Normal file
24
.claude/skills/arcodange-bank-reco/examples/bank-balance.txt
Normal file
@@ -0,0 +1,24 @@
|
||||
==========================================================================================
|
||||
BANK-SIDE balances (live)
|
||||
==========================================================================================
|
||||
bank ref currency balance details
|
||||
--------------------------------------------------------------------------------------
|
||||
Qonto Compte principal EUR 4191.54 iban=...25639215 id=019b93fe-3cb8-
|
||||
Wise STANDARD EUR 5308.25 id=147831931
|
||||
|
||||
Qonto total: 4191.54 EUR
|
||||
Wise total : 5308.25 EUR
|
||||
|
||||
==========================================================================================
|
||||
DOLIBARR-SIDE cumulative payments per fk_account
|
||||
==========================================================================================
|
||||
fk_account ref label cust paid in sup paid out net
|
||||
--------------------------------------------------------------------------------------
|
||||
1 QON1 QONTO 0.00 968.00 -968.00
|
||||
2 WIS2 WISE EURO 8160.00 0.00 8160.00
|
||||
3 CCA1 G.RADUREAU Compte Courant Asso 0.00 429.75 -429.75
|
||||
|
||||
# Note: Dolibarr-side numbers are CUMULATIVE since the account started in Dolibarr,
|
||||
# not the current bank balance. Mismatch with the bank-side is expected when
|
||||
# the account predates Dolibarr or has movements not recorded in Dolibarr
|
||||
# (e.g. URSSAF, AI subscriptions — see bank-match.sh BANK-ONLY bucket).
|
||||
@@ -0,0 +1,36 @@
|
||||
# Bank reconciliation: 2026-01-01 → 2026-05-31 (window ±7d, fees: off)
|
||||
|
||||
=== MATCHED (6 bank ↔ Dolibarr) ===
|
||||
Qonto 2026-01-27 - 50.00 card Wise *Plan ↔ supplier FAF2026001 (2026-01-26, Δ-1d)
|
||||
Wise 2026-02-05 + 510.00 TRANSFER Kissmetrics Holdings Inc ↔ customer FAC001-CL0001001 (2026-02-05, Δ+0d)
|
||||
Wise 2026-03-06 + 5100.00 TRANSFER Kissmetrics Holdings Inc ↔ customer FAC002-CL0001002 (2026-03-12, Δ+6d)
|
||||
Qonto 2026-03-13 - 612.00 transfer DARNIS OPERATIONS ↔ supplier FAF2026008 (2026-03-13, Δ+0d)
|
||||
Wise 2026-04-20 + 2550.00 TRANSFER Kissmetrics Holdings Inc ↔ customer FAC003-CL0001003 (2026-04-20, Δ+0d)
|
||||
Qonto 2026-05-10 - 306.00 transfer DARNIS OPERATIONS ↔ supplier FAF2026009 (2026-05-10, Δ+0d)
|
||||
|
||||
=== INTERNAL (Wise↔Qonto consolidations, 1) ===
|
||||
Wise 2026-03-13 - 5000.00 TRANSFER ARCODANGE ↔ Qonto 2026-03-13 +5000.00
|
||||
|
||||
=== BANK-ONLY (8 bank movements without Dolibarr counterpart) ===
|
||||
Qonto 2026-01-16 + 5.22 qonto_fee Qonto
|
||||
Qonto 2026-01-21 + 1000.00 income FOUREZ Quentin
|
||||
Wise 2026-01-26 - 50.00 FEATURE_CHARGE For your account plan
|
||||
Wise 2026-01-26 + 50.00 BALANCE_DEPOSIT To EUR
|
||||
Qonto 2026-04-03 - 172.68 card MISTRAL.AI
|
||||
Qonto 2026-04-13 - 180.00 card CLAUDE.AI SUBSCRIPTION
|
||||
Qonto 2026-05-22 - 493.00 direct_debit URSSAF D ILE DE FRANCE
|
||||
Wise 2026-05-29 + 2147.00 TRANSFER Kissmetrics Holdings Inc
|
||||
|
||||
=== DOLIBARR-ONLY (9 Dolibarr payments without bank movement) ===
|
||||
supplier 2026-01-04 1.99 FAF2026003 (fk_account=3)
|
||||
supplier 2026-01-06 202.80 FAF2026005 (fk_account=3)
|
||||
supplier 2026-01-09 55.93 FAF2026002 (fk_account=3)
|
||||
supplier 2026-01-09 148.80 FAF2026004 (fk_account=3)
|
||||
supplier 2026-01-12 8.43 FAF2026006 (fk_account=3)
|
||||
supplier 2026-01-15 1.30 FAF2026002 (fk_account=3)
|
||||
supplier 2026-01-17 3.20 FAF2026007 (fk_account=3)
|
||||
customer 2026-02-05 -510.00 AVC001-CL0001001 (fk_account=2)
|
||||
customer 2026-02-05 510.00 FAC001-CL00001 (fk_account=2)
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
# 6 matched, 1 internal, 8 bank-only, 9 dolibarr-only
|
||||
37
.claude/skills/arcodange-bank-reco/examples/bank-probe.txt
Normal file
37
.claude/skills/arcodange-bank-reco/examples/bank-probe.txt
Normal file
@@ -0,0 +1,37 @@
|
||||
================================================================================
|
||||
bank-probe — auth + discovery
|
||||
================================================================================
|
||||
|
||||
--- QONTO ---
|
||||
base : https://thirdparty.qonto.com
|
||||
auth shape : Authorization: <login>:<secret>
|
||||
env vars : QONTO_LOGIN=<set> QONTO_SECRET_KEY=<set> QONTO_ORG_SLUG=arcodange-1246
|
||||
|
||||
[OK] auth succeeded
|
||||
slug : arcodange-1246
|
||||
legal_name : ARCODANGE
|
||||
legal_country : FR
|
||||
1 bank account(s):
|
||||
id=019b93fe-3cb8-7e28-9404-ee637f7aff27 name=Compte principal ...iban=25639215 status=active balance=4191.54
|
||||
|
||||
--- WISE ---
|
||||
base : https://api.wise.com
|
||||
auth shape : Authorization: Bearer <token>
|
||||
env vars : WISE_API_TOKEN=<set> WISE_PROFILE_ID=82958299
|
||||
|
||||
[OK] auth succeeded
|
||||
2 profile(s):
|
||||
id=82958299 type=BUSINESS name=ARCODANGE ← .env WISE_PROFILE_ID
|
||||
id=82958415 type=PERSONAL name=Gabriel Jonathan Marc Radureau
|
||||
|
||||
--- WISE balances (for the BUSINESS profile) ---
|
||||
1 balance(s):
|
||||
id=147831931 type=STANDARD currency=EUR balance=5308.25 EUR name=None
|
||||
|
||||
--- summary ---
|
||||
.env should ultimately contain:
|
||||
QONTO_LOGIN=<set>
|
||||
QONTO_SECRET_KEY=<set>
|
||||
QONTO_ORG_SLUG=arcodange-1246
|
||||
WISE_API_TOKEN=<set>
|
||||
WISE_PROFILE_ID=<the BUSINESS id from above>
|
||||
@@ -0,0 +1,15 @@
|
||||
# Qonto transactions on account 019b93fe... (2026-01-01 → 2026-05-31)
|
||||
|
||||
date side amount cur op label
|
||||
----------------------------------------------------------------------------------------------------
|
||||
2026-01-16 credit 5.22 EUR qonto_fee Qonto
|
||||
2026-01-21 credit 1000.00 EUR income FOUREZ Quentin
|
||||
2026-01-27 debit 50.00 EUR card Wise *Plan
|
||||
2026-03-13 credit 5000.00 EUR income ARCODANGE
|
||||
2026-03-13 debit 612.00 EUR transfer DARNIS OPERATIONS
|
||||
2026-04-03 debit 172.68 EUR card MISTRAL.AI
|
||||
2026-04-13 debit 180.00 EUR card CLAUDE.AI SUBSCRIPTION
|
||||
2026-05-10 debit 306.00 EUR transfer DARNIS OPERATIONS
|
||||
2026-05-22 debit 493.00 EUR direct_debit URSSAF D ILE DE FRANCE
|
||||
----------------------------------------------------------------------------------------------------
|
||||
# 9 txn(s) — credit total: 6005.22, debit total: 1813.68, net: +4191.54
|
||||
@@ -0,0 +1,16 @@
|
||||
# Wise activities for profile (window 2026-01-01 → 2026-05-31)
|
||||
|
||||
date type status sign amount cur title
|
||||
-------------------------------------------------------------------------------------------
|
||||
2026-01-26 BALANCE_DEPOSIT COMPLETED + 50.00 EUR To EUR
|
||||
2026-01-26 FEATURE_CHARGE COMPLETED - 50.00 EUR For your account plan
|
||||
2026-02-05 TRANSFER COMPLETED + 510.00 EUR Kissmetrics Holdings Inc
|
||||
2026-03-05 BALANCE_CASHBACK COMPLETED + 0.19 EUR Cashback
|
||||
2026-03-06 TRANSFER COMPLETED + 5100.00 EUR Kissmetrics Holdings Inc
|
||||
2026-03-13 TRANSFER COMPLETED - 5000.00 EUR ARCODANGE
|
||||
2026-04-06 BALANCE_CASHBACK COMPLETED + 0.35 EUR Cashback
|
||||
2026-04-20 TRANSFER COMPLETED + 2550.00 EUR Kissmetrics Holdings Inc
|
||||
2026-05-07 BALANCE_CASHBACK COMPLETED + 0.71 EUR Cashback
|
||||
2026-05-29 TRANSFER COMPLETED + 2147.00 EUR Kissmetrics Holdings Inc
|
||||
-------------------------------------------------------------------------------------------
|
||||
# 10 activity(ies) — credit: +10358.25, debit: -5050.00, net: +5308.25
|
||||
Reference in New Issue
Block a user