Payments versus Deposits

I'm again reviewing my finances from last year, 2007, and I'm trying to figure out the best way to manage customer payments and bank deposits.

Here's some of my thoughts: * When I issue an invoice, the amount is match to the revenue source and the customer's account (a sub-accounts receivable). I used to group all invoices into a single A/R account.* When they pay, I match the deposit to the bank the funds are being deposited in with the customer's account (which used to be the single A/R).

That works in concept, but its fairly complicated to code up, because in most real world scenarios, multiple checks come in, are combined into a single deposit, and some customers pay multiple invoices with a single check. In cases like that, the HTML form to support it becomes overly complicated.

There are also some special situations:* There are times when payments are made from customers without a corresponding invoice. * There are times when deposits are made from parties other than customers (like a transfer).

What to do?

By on July 8, 2008 7:33 PM

11 Comments

Hello Albert !

The most important thing is that the normal invoice/payment process can be easy handled by the user for the beginning (alpha,beta,version 1).
Example: 1. Create the Invoice, 2. Book the Invoice, 3. After the Invoice is Paid transfer the invoice to the Bank account.

For such special Scenarios like in your posting, PBooks should just provide the possibility to manual book and split the invoice by hand at the moment.

The Most Important things for a user at the moment are Importing the Database from Gnucash, A solid and working Database structure no more any changes or compatibility breaks, Creating and booking of Invoices, Easy Importing Bank transaction in to the ledger for less work.

If PBooks can provide that then for me is time to make a pre release of PBooks for testing and working on this Tasks.

The most important thing is that PBooks must first handle the easy task without any problems. If PBooks cant do that then adding more feature and usability make no sense.

Hi PHP-CODER! Its great to hear from you, I don't think PBooks is ready for a pre-release alpha yet, but its very close! When that happens, I'll make a branch for all future developments, so that the pre-release alpha will stay compatible with the final release.

I'm using PBooks now for my business, and every month when I send out invoices, I'm able to work on PBooks a little more and make it better.

Thanks for reminding me about GnuCash - there has been a lot of activity regarding SQL databases on the GnuCash developer's mailing list lately. I believe they switched from libgda to libdbi, and its going well. I'll have to try it out again and see if I can get it to work, then convert the PBooks database over to the same format as GnuCash. The last time I tried out the SQL capabilities of GnuCash, I was able to view the model from SQLite. How does this look to you:

http://www.pbooks.org/wiki/GnuCash_Data_Model

Hello Albert.

The Database model in your link looks at first sight very prommising.

What i am missing at the moment in Pbooks for example is the possibility for the whole Tax handling.

In the database model you have entries for every customer with specific Tax values and setings.
Clicking on "Create a New Custumer" dont show anything about Taxes in the demo.
The same thing for creating a Invoice.
Invoice can be set by the User in the Custumer Settings to inlcude Taxes in the Prices or to Exlude it from the Prices. By Creating a Invoice for a custumer PBooks should automatic Calculate the Tax Amount.

From my side one of the most Important Task "Using PBooks for getting Money from the Customers in less than a few Seconds" dont work.
Invoices cant be created becouse no Tax handling is provided.
The same thing for Due Dates and so on...

Before getting too complicated in how to book a Invoice the specifics ways for different needs i will sugest to Implement the very Important Features for a Bookingsoftware that can also be found as a example in GNUCash.

As a Example only, Tax Handling, Chart Account Handling, Invoice Creating and Booking with Due Dates, Reminder of unpaid Invoices.
Just Ledgering today in comparsion to other software is not enogh when the are doing today nearly the whole work.

I will post tommorow a video here in this topic about the Task
"Getting Money from the Custumer in less than a few seconds"
and how i full fill this in Gnucash at the moment after a new Install.
Maybe you can use it as a Inspiration for Pbooks.

Ok here it is the promised video.

It show at the begining the Tax, the Due Terms and the new Customer setup in Gnucash.
This steps are only required only after a new install.

In the middle of the Video you can see how fast a invoice is created and booked with the needed Tax and Due Terms.

The video was splitted in two parts becouse of limited upload webspace.Finding and trying a good webspace for hosting mpeg files needed the half of the time.
I didn't had the time to add music and titles to the Videos.

I hope its usefull for you. It would be great to have this Usability in PBooks in the near Feuture.

Booking invoices in different ways is from my side of view secondary. First Pbooks must show the People that it can handle the most important Tasks without to break and change a lot of things.

It looks like that the first video was not uploaded very well to the hoster. It stop playing around 35% of the Playtime.
The second Part of the video works well.

The hoster has also a redirection blocker. For watching the videos you need to call the url direct in to the browser.
Download of the stream is slow 300kbit/s

If somebody know a better hoster to upload the MPEG files pleas post it.

I have found now a more better and faster mpeg hoster.
The videos will be played directly in your web browser without any problems.
Caching of the first video need a minute before it beginn to play.

Video 1

Video 2

P.S. Albert if possible please delete the above posting and change the Links to the new ones.
Thank you very much for your professional work.
Greetings and nice sleeping.

Hi PHP-CODER - Those videos are awesome! Thanks for sharing. Mind if I host them? I'll try converting to flv for watching with Flash,

The tax concepts and tax tables make a lot of sense. Also the chart of accounts tree is nice. Its helpful to view a chart with so many accounts remain manageable.

Hello Albert

You are free to do with the Videos wathever you can and want to do.

Here is the last video that i have created.

It show the wizard for seting up the Currency and Importing the Chart Accounts.

Setup Wizard for Currency and Chart Accounts

The Chart of accounts tree is indeed helpfull but it can be make it better. At the moment the Expense, Profit, Loose, Income etc. accounts are all mixed up.
Gnucash hasnt a better Grouping of Accounts.
Better would be to put the Expense, Loose etc accounts on the left side of the Page and the Income and Profit Accounts on the Right side of the Page.
Such a grouping and display of Accounts Information allow you immediatly to compare how much Loose and Profit you have.

A example what i mean.

http://www.wbg.musin.de/assets/images/bilanz2.jpg

http://www.uni-weimar.de/medien/management/sites/ws0001/geld/geld_content/geldangebot/bilanz_det2.gif

http://www.collmex.de/bilanz.jpg

Thank you once again for your very professional work.
Greetings PHP-Coder

In my accounting Software (Imperium) Invoices are created as one item, no impact on Accounts.

A/R Invoices have Journal Entry like:
DR: Asset: A/R -> Client Name $$
CR: Revenue: Service Revenue $$

Cash Payment Affect the Accounts like:
DR: Asset: Inbound Cash (sometimes called Payments)
CR: Revenue: Service Revenue

A/R Payments Affect Accounts like:
DR: Asset: A/R -> Client Name
CR: Asset: Inbound Cash

Bank Deposits like:
DR: Asset: Business Checking
CR: Asset: Inbound Cash

----
This is modeled after what I learned after a few years in the Banking/Finance industry.

Like your stuff - linked from my software at http://imperium.edoceo.com/

Maybe you could feed-back for me too?