Skip to content
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

Reconciling accounts? #736

Closed
kristophr opened this issue Aug 7, 2017 · 32 comments
Closed

Reconciling accounts? #736

kristophr opened this issue Aug 7, 2017 · 32 comments
Assignees
Labels
enhancement Requests for enhancements of existing stuff. fixed Bugs that are fixed (in a coming release).
Milestone

Comments

@kristophr
Copy link

I searched the items to see if this was addressed and it was back in feb of 2016. It was closed but doesn't look like its been resolved? is this still something you plan on implementing?

@JC5
Copy link
Member

JC5 commented Aug 7, 2017

Which issue was this, exactly?

@kristophr
Copy link
Author

kristophr commented Aug 7, 2017 via email

@JC5
Copy link
Member

JC5 commented Aug 7, 2017

Yes, imported lines get an entry in such a table so importing the same file twice should not work.

@kristophr
Copy link
Author

ah so for importing. I don't usually import anything, but would like to get my monthly statement from my bank and mark transactions as reconciled so I can see what is open/pending. Will this feature come soon? Or is it there and I am just not finding it?

@JC5
Copy link
Member

JC5 commented Aug 8, 2017

It's not there, but I could use an example what you would like to do, exactly. Would it just be a checkbox?

@JC5 JC5 self-assigned this Aug 8, 2017
@JC5 JC5 added the enhancement Requests for enhancements of existing stuff. label Aug 8, 2017
@kristophr
Copy link
Author

yeah a check box - maybe a "reconciled date" field as well,

@JC5
Copy link
Member

JC5 commented Aug 8, 2017

Wouldn't entering things into Firefly be reconciling them in the first place?

@simonsmiley
Copy link
Contributor

Usually when you reconcile your account, you also make sure the balances match. So the procedure might involve creating a transaction to set the correct balance. Usually you would mark all transactions up to that date as reconciled (might be paired, with a write-protection)

@AndreiGavriliu
Copy link

I was just looking over my bank statements and noticed some transactions which I did not add to the app, so it is a feature I'd like to have too

@dzaikos
Copy link

dzaikos commented Sep 29, 2017

This would be a nice feature to have.

As an example: I use a credit card for just about everything. When I get my monthly statement I like to make sure all the transactions the bank says I made are in Firefly and conversely all the transactions I think I made are on the bank's statement. There are times when I don't get receipts so I forget to enter something, or I enter an amount incorrectly. Reconciling lets me make sure both sides are in agreement. (Notwithstanding that if my card were used without my consent I would then notice the fraudulent purchase more easily.)

Presently I use tags for this and I remove the Unreconciled tag when I confirm the transaction at the end for the month. A native method would really make things easier.

@JC5
Copy link
Member

JC5 commented Sep 29, 2017

I'm thinking of the following:

  • Icon to indicate transaction is cleared. No icon when it's not.
  • The mass edit/delete checkbox gets another option: mark as reconciled.
  • This option also appears in the show/create/edit screens.
  • When you do this, it enables the icon and disables (mass)edit/remove for the transaction (becomes read only).
  • When entire asset account is reconciled, asset account gets an icon as well.

Am I forgetting things?

@dzaikos
Copy link

dzaikos commented Sep 29, 2017

When you do this, it enables the icon and disables (mass)edit/remove for the transaction (becomes read only).

As long as each transaction is only protected (read only) from bulk modification. Even a reconciled transaction should be able to be individually modified.

Am I forgetting things?

Is there any possible way to incorporate a dynamically updating total of reconciled transactions in the view? In other words, as we click each transaction a visible total accumulates so we can see the total monetary value we've marked for reconciliation; when we're done that total should equal the balance on the bank's statement.

@JC5
Copy link
Member

JC5 commented Sep 29, 2017

That would include all transactions for that account, plus the transactions you're currently in the process of selecting?

@dzaikos
Copy link

dzaikos commented Sep 29, 2017

The running total would be just what is checkmarked for reconciliation. So something like this...

Firefly Account

  • Coffee @ $1.25
  • Burger @ $4.50
  • Petrol @ $45.00

Bank Statement

  • Coffee @ $1.25
  • Petrol @ $45.00

So when I reconcile, I would checkmark Coffee and Petrol and the total in Firefly (displayed somewhere) would indicate $46.25. Which would also be the total on my bank statement and therefore I would know everything balanced that month.

@JC5
Copy link
Member

JC5 commented Nov 8, 2017

@tgrenda34 and people in this thread: the first version of this feature is now live on the demo site.

From a (most) list of transactions you can now do mass-edit, mass-delete but also reconcile.

You can't yet: unreconcile, select a combo of reconciled / unreconciled. Not all views will reflect the reconciled status yet.

Let me know if this is what you expected it to do.

@simonsmiley
Copy link
Contributor

That's not how reconcilation should work imo. You reconcile an account, setting the current amount that is actually in it, which then marks all transactions up to that point as reconciled and in case of a discrepancy creates a reconcile transaction that balances the account out.
You're current implementation still has at least one bug, in that it counts everything as negative, income is also subtracted from the total...

@JC5
Copy link
Member

JC5 commented Nov 8, 2017

It's not a function I would use in the first place, so I have no idea. My transactions are basically a copy of my bank statements and any errors so far have been my own.

I shall get right on those bugs but like @simonsmiley is explaining, I need to know what you would expect from such a feature.

@dzaikos
Copy link

dzaikos commented Nov 8, 2017

I'm going to slightly disagree with @simonsmiley but only about always creating a transaction (journal entry) to resolve discrepencies. That might be fine when there's a large amount of information and matching each item is simply impossible (missing or poorly kept records). But typically that shouldn't be necessary. Each item should be matched to the bank's statement. If we just set a reconile date and mark everything up till that point reconciled of course we're going to have descrepancies. But if we set a date (for the purpose of basically filtering what transactions Firefly shows us) then we individually mark each transaction/item as reconciled as per the bank's statement for that month, the balance should match without exception.

Credit cards are a little more challenging because merchant transactions don't always clear by the time the bank statement is issued. If we just marked everything up till the statement date as reconciled, we'd create a discontinuity with subsequent statements as those delayed transactions cleared the bank; therefore, creating a manual journal entry just for the purpose of making the account balance doesn't actually help us keep track of where the money is going, it just fudges the numbers. Not something I'd want.

On the other hand, perhaps I'm misunderstanding @simonsmiley, who can of course comment with clarification, objection, etc.

@JC5
Copy link
Member

JC5 commented Nov 9, 2017

As such, I don't reconcile my accounts. My financial administration is a carbon copy of what my bank(s) tell me. I haven't had problems in 4+ years. I can access my statements online so it's easy for me to update Firefly III. In a lot of cases this is basically instant.

Having said that, I have gotten the impression that some banks still think it's 1899: overdraft fees, paper checks, statements every once in a blue moon.. I see the need to reconcile transactions once you are sure the bank has recorded them as well.

What I need from you guys is a description of how you would expect this to work. I mean I can build it no problem, but I need to know what I need to build.

@dzaikos
Copy link

dzaikos commented Nov 9, 2017

This video (for Quicken for Mac) sort of shows the process of matching the bank statement's start/end date and marking transactions as cleared (to be reconciled). The video's a little boring and there's no need to watch it in full but it gives the general idea of what I'm used to doing:

https://m.youtube.com/watch?v=M2uGfm8cnJ8

@JC5
Copy link
Member

JC5 commented Nov 9, 2017

This is actually pretty useful! I might steal it be inspired by it.

@simonsmiley
Copy link
Contributor

When I said that a reconcile transaction should be created, I meant that Firefly would say that it's not balanced and offer to create a transaction or go back and look at the statements.
About the daterange vs everything up to a date:
I'm living in Germany. We don't use checks and most of the credit cards used here either charge the the checking account immediately or are tracked in a separate account and then charged once a month. Once we get a statement or download transactions we actually have everything up to that date.

@dzaikos
Copy link

dzaikos commented Nov 9, 2017

Okay; that makes more sense.

Must be nice to live in Europe. No joke, I really envy you. Sadly banking is not that efficient in other parts of the world.

JC5 added a commit that referenced this issue Nov 10, 2017
JC5 added a commit that referenced this issue Nov 10, 2017
JC5 added a commit that referenced this issue Nov 15, 2017
@JC5
Copy link
Member

JC5 commented Nov 15, 2017

Hi guys, the first attempt to get this working is up on the demo site.

Go to /accounts/asset and next to each asset account is a checkbox button. Use this to get to the reconcile view.

Actually submitting the reconciliation won't work but this is more or less what I had in mind. I appreciate your feedback 👍

@tgrenda34
Copy link

tgrenda34 commented Nov 15, 2017 via email

@dzaikos
Copy link

dzaikos commented Nov 16, 2017

Honestly? It's awesome. Seriously, it looks really good and the whole user experience is clear and straightforward.

The transaction list should include all transactions that have not been reconciled before and after the start/end dates. I've had merchants post transactions two months after the fact (a rarity, but still); so it's important that unreconciled items show up. Under normal circumstances it won't be that many, but it may make pagination challenging because you'd also want to start right at the reconciliation date and not months earlier or later. (I hope I'm making sense here.)

I like how you've implemented the Start/End of reconcile period: ... lines in the transaction list.

@JC5 JC5 added this to the 4.6.11 milestone Nov 16, 2017
@JC5
Copy link
Member

JC5 commented Nov 22, 2017

That last thing might be very difficult @dzaikos but I will write it down for a next release.

For now, the submit button actually does something and it will create a separate transaction if you want it to.

I still have to work on the presentation of this transaction and the ability to edit / delete it isn't perfect. For example, the amount shown is always negative, even when it's a "positive" reconciliation.

For now, I invite you once again to try it and tell me what you think.

The next release will include this, pretty much "as is". The question, what it means to reconcile an account comes next.

@dzaikos
Copy link

dzaikos commented Nov 23, 2017

I think this is really quite good.

There does seem to be a small bug: On the demo site if I go into the checking account the date range is Nov. 1-30 and the Reconciliation options amount is €1,323.83 (which is correct at the time of my writing this). If I change the range to Oct. 1-Nov. 30 and click Update the Reconciliation options amount does not get updated consistently (it seems to really screw up if I start selecting transactions then change the range without storing it, then change it back).

@JC5
Copy link
Member

JC5 commented Nov 23, 2017

I'll check it out, thanks for telling me this!

JC5 added a commit that referenced this issue Nov 24, 2017
@JC5
Copy link
Member

JC5 commented Nov 24, 2017

OK, the amounts should now update correctly. Previously selected transactions were counted towards the balance, skewing the indicator. I'm working on an edit routine so you can correct reconciliations.

@dzaikos
Copy link

dzaikos commented Nov 24, 2017

Looks like it's working better now. Thanks.

JC5 added a commit that referenced this issue Nov 24, 2017
@JC5
Copy link
Member

JC5 commented Nov 25, 2017

OK, edit and delete routines are finished so the basic functionality is implemented. I invite you to open issues or contact me for any problems or next steps you see. Next release should be end of the month, after which you can really try this out :)

@JC5 JC5 added the fixed Bugs that are fixed (in a coming release). label Nov 25, 2017
@JC5 JC5 closed this as completed Nov 25, 2017
@lock lock bot locked as resolved and limited conversation to collaborators Jan 24, 2020
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
enhancement Requests for enhancements of existing stuff. fixed Bugs that are fixed (in a coming release).
Projects
None yet
Development

No branches or pull requests

6 participants