-
-
Notifications
You must be signed in to change notification settings - Fork 273
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Split transfers #461
Comments
It possible to split transfers. But I closed this possibility on UI level Some users wont to have transfer and payment at the same time (for one 2015-04-19 0:36 GMT+03:00 Alen Siljak notifications@github.com:
|
That's good enough for me. I was also thinking of forcing the Transfer category for transfers but this is not convenient because users can customize the category list and they might not even have Transfer category available. |
We can ignore cagegid if transaction type is 'transfer'. In that case the воскресенье, 19 апреля 2015 г. пользователь Alen Siljak написал:
|
OK, sounds good. I created a task for us and will close this request. If anyone has any further comments, feel free to reopen or follow up. |
Hm, I just checked in Quicken. Splits transfers are supported. This is how the .qif record looks like for a split transfer:
|
Seems we should support split transfer as well while I think it's too complex to understand |
I agree it is difficult to explain the concept to someone who is not exposed to it. The most common scenario, for example in Australia, is to withdraw some cash in the supermarket while paying for groceries with a bank card. The split will be indicated on the supermarket receipt, while the bank statement will show only one transaction. The above example is a mix of Withdrawal and Transfer (bank -> Groceries + bank -> cash account) rather than multiple transfers as splits but supporting it requires that we technically allow split transfers. |
any conclusion here ? |
This requires setting up Split Categories table in a way similar to transactions, in that they would require the transaction type and account to/from. |
So we are planning to support this features in future? for instance, v2.0? |
I believe so. This should be a supported scenario if we have split categories. |
@vomikan would you mind to take this? |
Unfortunately, no. I'll prefer to fix bugs for 1.3. понедельник, 22 февраля 2016 г. пользователь Lisheng написал:
|
@mistery , it is interesting that you chose this scenario for split transfers
This is a common occurrence for me and the way I handle this, is to transfer the whole amount to "Wallet/Cash" with a category of "Transfer/Shopping" and the actual groceries transaction is in my "Wallet/Cash" account. This records the expense component to the non expense component, a well as providing me with a total withdrawal from my real bank account. Trying to achieve this with the current implementation of the transaction table (checkingaccount_v1) and the split transactions table, as you have already discovered becomes difficult to implement. To me this requires a total rethink about the structure of the transaction table and the way transactions are recorded. This is a skeleton model at present as full details not worked out yet, but with version 2, we have the ability to reorganise this with the following proposal:
This means that a simple deposit or withdrawal
A transfer transaction would contain 2 transaction records
For Split transactions,
This would solve a lot of problems with the existing structure.
The final details of the actual table fields still need to be determined. |
@stef145g, I'd support this suggestion. Migrating the two transaction tables into one would make things simpler and easier (hopefully). As you say, the details would need to be worked out. For example, I would suggest a UUID (text) field for the Split Id. All the transactions with the same Split Id would be summarized as one transaction in the transactions list, and each of these records would represent one Split Category / Transaction item. This simplifies queries significantly when fetching and displaying transactions. Split transfers also become a possibility automatically, as no additional new concepts are needed - the infrastructure would already be there. For Transfers I do not have a good idea on how that would work overall, and what would be pros and cons. Let's use your suggestion as the base scenario and try to figure out any issues that may arise. That's how I'd go about it. |
One more point for simplification might be removal of the Transaction Type field. In this case, the amount would be enough to define whether the transaction is a withdrawal or a deposit. We currently do not distinguish between deposit and withdrawal categories so no ill effects there. The simplification would be in having no need to check the amount and compare to the transaction type, which is quite redundant. Transaction Type can become a derived property on the model entity but may be removed from the data schema. In the model, this would return the value (Withdrawal, Deposit, Transfer) based on whether there is the Transfer Id and the amount (>0 or <0, as 0 amounts are not accepted). |
With reference to #709 (Introduce table SPLITTRANSACTION_V2) and with @mistery comment above, a proposed modification to the checking account table is presented for an updated database schema for Version 2.0.0: Modified table with different fields:
Changes:
Also prefer to change the name of the table to TRANSACTION or TRANSACTIONS A further proposed field name changes as follows:
Updated Modified Table having changed table and field names:
Change explanation
As these changes are very drastic, they can only be achieved in a new version of MMEX at Version 2.0.0 and is a one way upgrade. This also requires modifications to other tables which have yet to be determined. |
Extension: Addition of field TRANSFERTO to identify where this transfer is going. Most transfers would be to other transactions, but with this extra field, transfers to other entities would be possible and easily identifiable from the transaction.
|
Quick question. Since both foreign keys (to transfer and the split group) are listed as NOT NULL, what should be the default values? How do we handle that? |
The values would be set to -1 |
Yes, I think NULL would make more sense as I'd prefer SplitId to be GUID/UUID rather than Integer. |
This would make it like this:
Do you agree with the field name changes, or do you prefer the old name style? |
I personally don't mind the variable naming standard as long as we stick to it. :)
However, there are so many standards that anything you guys agree to is fine with me. I'd prefer to avoid adjusting a whole lot of queries, though, but that's also ok if it has to be done. Found some SQLite examples here. They tend to use TableId in these examples. Not that it makes a difference. |
Whoever does this, please note that a migration is required for the Amount. Removing TransType field requires that the positive numbers turn to negative for all Withdrawals. Not sure if this needs to be mentioned but better safe than sorry. |
An observation regarding the CurrencyRate field - can't this value be calculated from the actual amounts in both sides of the transfer? It might be redundant as simple division of the amounts will provide the actual exchange rate in any direction. |
Update
Which has opposite partial transfers both in QIF of account Cassa Chiara ($200) and QIF of account Cassa Livio ($210). |
Morning, Are there any plans for implementing this feature?
In this scenario, a single transition from Visa is split into several, where one is a payment for the food and the others are transferred to other MMEX accounts (cash, cards, etc.). This is fully supported in MS Money. And while migrating to MMEX (via QIF files) my DB is messed up. Ready to help with any other info needed. |
Following up on a request from the users. The request was to support split transactions where some or all of the splits are transfers to other accounts.
With the current design of the splits table, this is not possible.
Ref: moneymanagerex/android-money-manager-ex#173
Yes, a user can create multiple transfer transactions to work around this issue. But it is not so simple. While this might work for transfers of cash to different accounts, it would not work for something like a salary record. For example, a salary can have one or more deposit records (let's say regular salary + bonus), a few withdrawal records (tax, health insurance), and a transfer to pension account.
It is very convenient to keep such records as splits of one transaction rather than multiple account transactions.
The text was updated successfully, but these errors were encountered: