Il faut l'id des transactions pour les règlements — voilà.
A payment only returned its paiement id, which is not what bank reconciliation keys on. payment-record.sh now emits {id, bank_transaction_id, num}:
bank_transaction_id = the Dolibarr bank line (llx_bank.fk_bank_line) the payment created, resolved via GET /{invoices|supplierinvoices}/{id}/payments (correlated by num, else the most recent line). Customer + supplier.
num stores the originating bank tx id (Qonto/Wise) and lands on that bank line's num_chq — so arcodange-bank-reco can match a règlement to a statement line by id instead of fuzzy amount/date. Both ends captured at write time.
promote-apply still extracts .id unchanged (backward compatible).
Natural follow-up (not in this PR): teach bank-match to prefer an exact num_chq ↔ feed-tx-id match when present — now that the link exists, reconciliation can be exact.
Il faut l'id des transactions pour les règlements — voilà.
A payment only returned its `paiement` id, which is **not** what bank reconciliation keys on. `payment-record.sh` now emits **`{id, bank_transaction_id, num}`**:
- **`bank_transaction_id`** = the Dolibarr bank line (`llx_bank.fk_bank_line`) the payment created, resolved via `GET /{invoices|supplierinvoices}/{id}/payments` (correlated by `num`, else the most recent line). Customer + supplier.
- **`num`** stores the originating bank tx id (Qonto/Wise) and lands on that bank line's `num_chq` — so `arcodange-bank-reco` can match a règlement to a statement line **by id** instead of fuzzy amount/date. Both ends captured at write time.
### Proven live
```
customer: {"id":13,"bank_transaction_id":35,"num":"QONTO-TX-1234"}
supplier: {"id":16,"bank_transaction_id":36,"num":"WISE-TX-5678"}
llx_bank: 35 → num_chq=QONTO-TX-1234 36 → num_chq=WISE-TX-5678 (rappro=0)
```
`promote-apply` still extracts `.id` unchanged (backward compatible).
Natural follow-up (not in this PR): teach `bank-match` to prefer an exact `num_chq` ↔ feed-tx-id match when present — now that the link exists, reconciliation can be exact.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
A payment only returned its paiement id, which isn't what bank reconciliation
keys on. payment-record.sh now emits {id, bank_transaction_id, num}:
- bank_transaction_id = the Dolibarr bank line (llx_bank.fk_bank_line) the payment
created, resolved via GET /{invoices|supplierinvoices}/{id}/payments (correlated
by num, else the most recent line). Works for customer and supplier.
- num stores the originating bank tx id (Qonto/Wise) and lands on that bank line's
num_chq — so arcodange-bank-reco can match a règlement to a statement line by id
instead of fuzzy amount/date. Both ends captured at write time.
Proven live: customer {id:13,bank_transaction_id:35,num:QONTO-TX-1234},
supplier {id:16,bank_transaction_id:36,num:WISE-TX-5678}; llx_bank rows 35/36
carry the refs in num_chq. promote-apply still extracts .id unchanged.
Co-Authored-By: Claude Opus 4.7 (1M context) <[email protected]>
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Il faut l'id des transactions pour les règlements — voilà.
A payment only returned its
paiementid, which is not what bank reconciliation keys on.payment-record.shnow emits{id, bank_transaction_id, num}:bank_transaction_id= the Dolibarr bank line (llx_bank.fk_bank_line) the payment created, resolved viaGET /{invoices|supplierinvoices}/{id}/payments(correlated bynum, else the most recent line). Customer + supplier.numstores the originating bank tx id (Qonto/Wise) and lands on that bank line'snum_chq— soarcodange-bank-recocan match a règlement to a statement line by id instead of fuzzy amount/date. Both ends captured at write time.Proven live
promote-applystill extracts.idunchanged (backward compatible).Natural follow-up (not in this PR): teach
bank-matchto prefer an exactnum_chq↔ feed-tx-id match when present — now that the link exists, reconciliation can be exact.🤖 Generated with Claude Code
A payment only returned its paiement id, which isn't what bank reconciliation keys on. payment-record.sh now emits {id, bank_transaction_id, num}: - bank_transaction_id = the Dolibarr bank line (llx_bank.fk_bank_line) the payment created, resolved via GET /{invoices|supplierinvoices}/{id}/payments (correlated by num, else the most recent line). Works for customer and supplier. - num stores the originating bank tx id (Qonto/Wise) and lands on that bank line's num_chq — so arcodange-bank-reco can match a règlement to a statement line by id instead of fuzzy amount/date. Both ends captured at write time. Proven live: customer {id:13,bank_transaction_id:35,num:QONTO-TX-1234}, supplier {id:16,bank_transaction_id:36,num:WISE-TX-5678}; llx_bank rows 35/36 carry the refs in num_chq. promote-apply still extracts .id unchanged. Co-Authored-By: Claude Opus 4.7 (1M context) <[email protected]>