FireFly III icon

FireFly III

Read, update, write and delete data using the powerful FireFly III API

Overview

The node integrates with the FireFly III API to create financial transactions programmatically. It allows users to submit one or multiple transaction entries in a single API call, specifying details such as type, date, amount, description, accounts involved, categories, budgets, tags, and more.

This node is beneficial for automating bookkeeping tasks, importing bulk transaction data from other systems, or integrating custom financial workflows where transactions need to be created dynamically based on external triggers or data sources.

Example use cases:

  • Automatically logging bank withdrawals or deposits triggered by payment events.
  • Importing CSV transaction data into FireFly III via an automated workflow.
  • Creating split transactions with detailed metadata like tags, bills, and piggy banks.

Properties

Name Meaning
X-Trace-ID A unique UUID identifier for the request, used for debugging and tracing. Example format: 123e4567-e89b-12d3-a456-426614174000.
Transactions Call Settings Collection of options controlling transaction creation behavior:
Error If Duplicate Hash: Whether to throw an error if a duplicate transaction hash is detected (boolean).
Apply Rules: Whether to apply rules to the transaction (boolean).
Fire Webhooks: Whether to trigger webhooks for the transaction (boolean).
Group Title: Title string if the transaction is split into multiple parts; empty otherwise.
Transaction(s) One or multiple transaction entries to create. Each transaction includes the following fields:
Type: Type of transaction. Options: Withdrawal, Deposit, Transfer, Reconciliation, Opening Balance.
Date: Date of the transaction (YYYY-MM-DD or ISO 8601).
Amount: Amount of the transaction.
Description: Description text.
Order: Order index for multiple transactions.
Currency ID / Code: Currency identifiers.
Foreign Amount / Currency: Foreign currency amount and its ID or code.
Budget ID: Associated budget.
Category ID / Name: Category reference or name (name creates category if unknown).
Source Account ID / Name: Source account reference or name.
Destination Account ID / Name: Destination account reference or name.
Reconciled: Boolean indicating if transaction is reconciled.
Piggy Bank ID / Name: Optional piggy bank association.
Bill ID / Name: Optional bill association.
Tags: Comma-separated tags.
Notes: Optional notes.
Internal Reference: Internal system reference.
External ID: External system reference.
External URL: Custom external URL for the transaction.

Output

The node outputs a JSON object representing the response from the FireFly III API after creating the transaction(s). This typically includes details of the created transaction journal(s), such as IDs, timestamps, amounts, and all metadata submitted.

No binary data output is produced by this operation.

Dependencies

  • Requires an active connection to the FireFly III API with appropriate authentication credentials (e.g., OAuth2 token).
  • The node expects the FireFly III API endpoint to be reachable and properly configured.
  • No additional external services are required beyond the FireFly III API.

Troubleshooting

  • Duplicate Hash Error: If "Error If Duplicate Hash" is enabled and a transaction with the same hash already exists, the API will return an error. To resolve, either disable this option or ensure unique transaction hashes.
  • Missing Required Fields: The transaction requires at least Type, Date, Amount, and Description. Omitting these may cause API errors.
  • Invalid Account or Category References: Providing invalid or mismatched account/category IDs or names can cause failures. Verify that referenced entities exist or allow the node to create new ones by providing names instead of IDs.
  • Foreign Currency Issues: When submitting foreign amounts, either the foreign currency ID or code must be provided. Missing these will result in errors.
  • API Authentication Errors: Ensure the API credentials are valid and have sufficient permissions.
  • Network or Endpoint Errors: Confirm network connectivity and correct API base URL configuration.

Links and References

Discussion