Finance
Transactions
Transactions are the fundamental building blocks of Omoplata's financial system. Every charge, payment, refund, and fee that flows through your club is recorded as a transaction. Whether it is a monthly membership fee, a one-off registration charge, or a recurring rent payment, it appears in the transaction ledger so you always have a complete picture of your club's finances.
What is a transaction
A transaction represents a single financial movement tied to your club. Transactions are created automatically when memberships generate charges, or manually when you need to record ad hoc fees, adjustments, or other financial events.
Each transaction records:
- Title -- a short description of what the charge is for (for example, "BJJ Adults Monthly - January 2025").
- Amount -- the monetary value, including net amount, VAT rate, and VAT amount when applicable.
- Transaction date -- the date the charge applies to.
- Member -- the member the transaction belongs to.
- Payer -- the person responsible for paying (may differ from the member, for example a parent paying for a child).
- Category -- the type of transaction (income or expense) and its classification.
- Status -- where the transaction is in its lifecycle.
- Invoice -- the invoice this transaction is grouped into, if one has been generated.
Transaction categories
Every transaction belongs to a category that classifies it and determines its type. Categories have two key attributes:
- Name -- a label such as "Membership Fee", "Registration Fee", "Rent", or "Equipment".
- Type -- either income or expense, which determines how the transaction affects your financial reports.
Categories also carry a default VAT rate that is applied to new transactions created under that category.
Transaction statuses
Transactions move through a defined lifecycle. Each status reflects a specific stage of processing.
| Status | Meaning |
|---|---|
| Pending | Newly created, awaiting processing. |
| Invoiced | Included on an invoice and ready for collection. |
| Waiting to send | Part of a SEPA file that has been generated but not yet uploaded to the bank. |
| Sent to bank | Part of a SEPA file that has been uploaded to the bank for processing. |
| Completed | Payment received and settled successfully. |
| Failed | Payment attempt failed. |
| Overdue | The due date has passed without payment. |
| Canceled | Will not be collected. This is a final state. |
| Refunded | Was previously completed but has been refunded. This is a final state. |
| Uncollectible | Deemed uncollectible after repeated failed attempts. |
Status changes are linked to invoices
Transaction statuses are tightly coupled with invoice statuses. When you change an invoice's status -- for example, marking it as paid -- all related transactions are automatically updated to match. You rarely need to change a transaction status directly.
Status transitions
Not every status can transition to every other status. The allowed transitions enforce a logical flow:
- Pending can move to Invoiced or Canceled.
- Invoiced can move to Pending, Completed, Failed, or Canceled.
- Waiting to send can move to Completed, Failed, or Canceled.
- Sent to bank can move to Completed, Failed, or Canceled.
- Completed can move to Pending, Refunded, or Overdue.
- Failed can move to Pending or Canceled.
- Overdue can move to Pending, Uncollectible, or Canceled.
- Uncollectible can move to Pending or Canceled.
- Canceled and Refunded are final states with no further transitions.
Every status change is recorded in the activity log, so you can always trace how a transaction progressed through the system.
Viewing the transaction ledger
Navigate to Finance > Transactions to see all transactions for your club. The ledger displays transactions in a table with the following columns: title, member, amount, date, category, and status.
Filtering
The transaction list provides several filtering options to help you find what you need:
- Year -- filter transactions by year. By default, the current year is selected. In December, Omoplata automatically shows the current year plus the next year so you can see upcoming January charges.
- Month -- narrow down to a specific month within the selected year.
- Status -- filter by transaction status. The default view shows "open" transactions, which excludes terminal statuses (completed, failed, canceled, refunded, and uncollectible). You can also view all transactions or filter by a specific status.
- Type -- filter by income or expense.
Status filter badges show the count of transactions in each status, so you can quickly see how many transactions are pending, overdue, or in other states.
Searching
Use the search bar to find transactions by title, description, member name, category, or payment method. When you search, the year filter is temporarily removed so results span all years. You can re-enable the year filter during a search if needed.
Creating manual transactions
While most transactions are created automatically from membership charges, you can create transactions manually for one-off fees, adjustments, or corrections. Click the create button on the transactions page and fill in:
- The member and payer
- A title and optional description
- The amount and currency
- The transaction date
- The category
- The bank account (if your club uses multiple accounts)
Manual transactions start in the pending status and follow the same lifecycle as automated ones.
Transaction statistics
At the top of the transactions page, a statistics bar shows four key figures for the current month:
- Income -- total amount of all income transactions this month.
- Expenses -- total amount of all expense transactions this month.
- Net -- the difference between income and expenses.
- Count -- the total number of transactions created this month.
These figures give you an at-a-glance sense of your club's financial activity without needing to dig into reports.
How transactions are generated
For membership-based charges, Omoplata automatically processes all active memberships daily. The system checks each membership's billing schedule (weekly, monthly, etc.) and creates transactions for any charges that are due.
Each transaction is linked back to its source membership, so you can always trace any charge to the plan and membership that generated it.
Members without payment methods
If a member has an active membership but no payment method on file, the system logs an error and creates an issue alert. You can find these in the Alerts section on the dashboard. Resolve them by adding a payment method to the member's profile before the next billing run.