Feature Request: Support Negative Transactions for Reimbursements / Split Expenses #459
Replies: 12 comments 11 replies
|
After thinking more about this, and given that Sure is bank-sync driven, negative transactions would not come from the bank feed itself, but from a user-created offset layer on top of bank-synced data. A common real-world scenario is when payment and reimbursement happen across different accounts. Example:
Both transactions are valid and should remain unchanged in their respective accounts.
With support for negative expense (or offset) transactions, a user could:
Result:
|
|
My current way of handling this here and in Quicken for many years (to keep "the books" correct accounting-wise) is to use categories. So basically the offsetting happens because by both transactions belonging to the same category it nets out. Does it not work that way for you? |
|
I'd like to chime in since I had the same issue with reimbursements. It would be really nice to be able to match two transactions and mark one as reimbursement of the other. Sometimes you also just return things and get the full price refunded to the same account. In this case there could even be an automatic matching, just like with transfers but now on the same account. For reimbursed or partly reimbursed expenses it would be nice if the expense amount was reduced by the reimbursement. For now I just created an income category "Reimbursement" so I can see what part of the income is not really income. Contrary to the suggestion of this discussion I'd probably not add negative expenses but let them be income, but link them just like with transfers. |
|
For reimbursements, maybe have an option to select which transaction was reimbursed (partially or fully), so the reimbursement is integrated at the original transaction date in the budget and not treated as income in reports (Sankey chart, etc.) |
|
Hello everyone. There is a possible accounting approach to meet the requirement without needing refactoring. However, it is quite laborious for accounts that use Import/Sync. Sure's (current) architecture offers Account Types which can be Assets or Debt/Liabilities. And also transaction types This model is similar to standard accounting, with accounts of opposite natures (Asset/Debt) that receive transactions or transfers between them. Scenarios:I believe the scenarios detailed above can be summarized into the following variations: Cash disbursement:
Reimbursement. Values may vary:
Reimbursement parameters:
Accounting ConsiderationIn these scenarios, the reimbursement can be considered a "Cash Advance":
SureI would create an "Other Asset" account called "Cash Advance" for accounting purposes. In this account, I don't need to reconcile balances with statements. Handling Advances can be done with transfers (TO/FROM) this "Cash Advance" account. The case of manual transactions illustrates a normal accounting treatment well. In the case of import/sync, the imported transactions will need to use the "Setting > Exclude" configuration, which removes the transaction from reports but keeps it in the account balance. It is necessary to understand what "Setting > Exclude" does, as this transaction setting has a very specific behavior. This works for restitution/reimbursement, whether in 5 minutes or 45 days. Manual Transactions
Imported/Synced TransactionsImported/Synced transactions must be excluded via "Setting > Exclude" and everything must be re-entered manually.
|
It seems to me that Sure's (current) architecture, using Asset/Debt account types similar to a simple conventional accounting model, is consistent with the prohibition of negative transaction values. However, unlike a traditional accounting model, Sure aims to provide convenience through the Import/Sync transaction feature. To address these two requirements, adding a feature based on transaction grouping/splitting is quite convenient. The difference between grouping or splitting transactions is the starting point:
You can think of a "split" as "reverse grouping". considerationsRelevant technical properties:
Expected use cases:
|
|
I asked Claude about recommended approaches for implementing splits/grouping in Sure. This was the result:
Final Recommendation: Line Item Pattern
The Line Item Pattern is very common in e-commerce. Considering that the Line Item Pattern requires the creation of a new table, I asked for recommendations on approaches related to optimizing storage. This was the result:
Yes, pure Line Items duplicates records. But:
HOWEVER, if you want to optimize to the max:
For Sure.am specifically:
It is negligible. Final Recommendation: Pure Line Items Pattern. |
|
A grouping approach would also make sense from my point of view. It's similar to linking two transactions in a transfer, only that it links multiple transactions together, leaving only the excess as expense or income. This grouping would also allow to consider multiple expenses as one (e.g. paying something partly in cash and partly with card). |
|
Adding another concrete use case here, since I ran into this from a I do occasional reimbursable purchases on someone else's behalf, and I went looking for a way to split that income transaction the same |







Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Describe the feature
Allow expense transactions to have negative amounts, so reimbursements and split expenses can be recorded as offsets to the original expense, instead of being logged as income.
This would enable users to correctly net out reimbursed or split expenses within the same category, without inflating income or total spending.
Why is this feature important?
The current workflow for reimbursements typically requires:
While the net balance may be correct, this approach causes several issues:
Supporting negative expense transactions solves this cleanly by allowing reimbursements to directly offset the original expense category, keeping reports accurate by default.
Example use case
Shared subscription (3 people):
Current workaround
Users can already approximate this by splitting the transaction:
Expense: $300
Category: Subscription
Note: Personal share
Expense: $600
Category: Reimbursement
Tag: Split / Reimbursement
Note: Paid on behalf of others
Income: $600
Category: Reimbursement
Then, the reimbursed portion must be excluded manually.
Limitations of this approach:
With negative transactions
At the time of payment
Category: Subscription
Note: Shared subscription (3 people)
When reimbursement is received
Category: Subscription
Note: Split expense reimbursement
→ Subscription spending correctly shows $300
→ No artificial income is created
→ Clean monthly and yearly reports
Additional context
All reactions