Summary
freeagent-cli bank explain update advertises a --receipt flag, but when used to attach a receipt to an existing explanation without changing other fields, the CLI exits with:
This makes the most important reconciliation workflow appear supported in help text but unusable in practice.
Reproduction
Command pattern used:
freeagent-cli bank explain update EXPLANATION_URL --receipt ./paperless/Receipt-2860-8601.pdf
Observed result:
2026/03/26 22:51:51 no fields to update
I reproduced the same behavior across multiple existing explanations.
Examples used during testing:
https://api.freeagent.com/v2/bank_transaction_explanations/694920607
https://api.freeagent.com/v2/bank_transaction_explanations/694485684
https://api.freeagent.com/v2/bank_transaction_explanations/693567610
https://api.freeagent.com/v2/bank_transaction_explanations/692586808
Each command used only --receipt with a valid local PDF path.
Why this is a problem
In real bookkeeping workflows, a transaction is often already explained correctly but still missing its receipt. In that case, I do not want to:
- retype the date
- retype the description
- retype the gross value
- retype the category
- risk changing fields that are already correct
- delete and recreate the explanation just to attach a PDF
A receipt-only update is the natural and safest operation.
Expected behavior
If --receipt is provided, the CLI should treat that as a meaningful update even when no other fields are changing.
Expected successful workflow:
freeagent-cli bank explain update EXPLANATION_URL --receipt ./paperless/Receipt-2860-8601.pdf
Expected outcome:
- existing explanation remains otherwise unchanged
- receipt is attached
- command exits successfully
Actual behavior
The CLI appears to exclude receipt-only changes from its update field detection, resulting in no fields to update.
Suggested fix
- Treat
--receipt as an update field in its own right.
- If the API requires multipart or a different endpoint shape, handle that internally.
- Keep the rest of the explanation unchanged when only
--receipt is provided.
Desired follow-up
It would also be helpful if this behavior were covered by a CLI test, because attaching receipts to already-explained transactions is a common reconciliation path.
Related issue
A broader feature request is needed for first-class bank review/reconciliation commands, but this issue is narrower: the existing update command looks like it should work for receipt attachment and currently does not.
Summary
freeagent-cli bank explain updateadvertises a--receiptflag, but when used to attach a receipt to an existing explanation without changing other fields, the CLI exits with:This makes the most important reconciliation workflow appear supported in help text but unusable in practice.
Reproduction
Command pattern used:
Observed result:
I reproduced the same behavior across multiple existing explanations.
Examples used during testing:
https://api.freeagent.com/v2/bank_transaction_explanations/694920607https://api.freeagent.com/v2/bank_transaction_explanations/694485684https://api.freeagent.com/v2/bank_transaction_explanations/693567610https://api.freeagent.com/v2/bank_transaction_explanations/692586808Each command used only
--receiptwith a valid local PDF path.Why this is a problem
In real bookkeeping workflows, a transaction is often already explained correctly but still missing its receipt. In that case, I do not want to:
A receipt-only update is the natural and safest operation.
Expected behavior
If
--receiptis provided, the CLI should treat that as a meaningful update even when no other fields are changing.Expected successful workflow:
Expected outcome:
Actual behavior
The CLI appears to exclude receipt-only changes from its update field detection, resulting in
no fields to update.Suggested fix
--receiptas an update field in its own right.--receiptis provided.Desired follow-up
It would also be helpful if this behavior were covered by a CLI test, because attaching receipts to already-explained transactions is a common reconciliation path.
Related issue
A broader feature request is needed for first-class bank review/reconciliation commands, but this issue is narrower: the existing update command looks like it should work for receipt attachment and currently does not.