feat: Implement IBAN-based account linking for Firefly III transactions
This enhancement improves transaction synchronization by automatically linking counterparty IBANs from GoCardless to existing Firefly III accounts, ensuring more accurate reconciliation and better data integrity. Users benefit from reduced manual effort in matching transactions, fewer duplicate payees, and cleaner financial records that reflect real-world banking relationships. The implementation caches all account types during discovery, adds IBAN lookup logic with fallback to payee creation, and filters CLI account lists to focus on user-managed asset and liability accounts while maintaining full backward compatibility.
This commit is contained in:
@@ -43,9 +43,8 @@ impl FireflyClient {
|
||||
}
|
||||
|
||||
#[instrument(skip(self))]
|
||||
pub async fn get_accounts(&self, _iban: &str) -> Result<AccountArray, FireflyError> {
|
||||
let mut url = self.base_url.join("/api/v1/accounts")?;
|
||||
url.query_pairs_mut().append_pair("type", "asset");
|
||||
pub async fn get_accounts(&self) -> Result<AccountArray, FireflyError> {
|
||||
let url = self.base_url.join("/api/v1/accounts")?;
|
||||
|
||||
self.get_authenticated(url).await
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user