How To Assign Payments Received Properly In GnuCash?
"When I receive a check from a customer whom I previously sent an invoice, I go to the customer report for that customer, click on the link ""Invoice"" for that invoice, then click on the Pay Invoice button (very far right side). I then do a customer report and see that there is no balance (meaning all the invoices have been paid). I don't process invoices using the same method you do.  Instead I go to Business -> Customer -> Process Payment.  From there I can select the applicable customer, and a list of unpaid invoices will come up.  I've never experienced the issue you've described. On a related topic: are you posting your invoices?  From experience that has caused issues for me; when you post the invoice it should show up in your Accounts Receivable (or whichever account you've designated), and after you process the payment the A/R should go down accordingly.  When posting your invoice, you specify which account it gets posted to:  So that account should show a balance once you have posted it:  Then, when a client pays you, your cash will go up, and A/R will go down."
"This is not a normal occurrence, and you have every right to be annoyed, but the technical way it usually happens goes like this: What can happen is when the merchant incorrectly completes the transaction without referencing the pre-authorization transaction. The bank effectively doesn't ""know"" this is the same transaction, so they process it the same way they process any other purchase, and it has no effect on the pre-authorization and related held/pending transaction. As far as the bank knows, you purchased a second set of blinds in the store for $200 and are still waiting on the first order to come in, they have no idea the store screwed up. The reason this is possible is the purpose of the pre-auth in the first place is that it is a contractual agreement between the bank (credit card) and the merchant that the funds are available, will be available except under rare special circumstances, and thus they can go ahead and process the order. This lets the merchant be secure in the knowledge that they can collect their payment, but you aren't paying interest or monthly payments on something you haven't even gotten yet! This system works reasonably well for everyone - right up until someone screws up and fails to properly release a hold, makes a second transaction instead of properly referencing the first one, or the bank screws up their system and fails to correctly match referenced pre-authorization codes to purchases. The problem is that this should not be a normal occurrence, and the people you are speaking with to try to sort out the issue often do not have the authority or knowledge necessary to properly fix the issue, or its such a hassle for them that they hope you just go away and time fixes the issue on its own. The only sure-fire solution to this is: make sure you have so much extra credit line that this doesn't effect you and you can safely let it time out on its own, or stop doing business with this combination of merchant/payment that creates the problem. Back when my credit limits were being pushed, I would never pay at gas pumps because their hold polices were so weird and unpredictable, and I would only pre-pay inside or with cash to avoid the holds." No, GnuCash doesn't specifically provide a partner cash basis report/function. However, GnuCash reports are fairly easy to write. If the data was readily available in your accounts it shouldn't be too hard to create a cash basis report. The account setup is so flexible, you might actually be able to create accounts for each partner, and, using standard dual-entry accounting, always debit and credit these accounts so the actual cash basis of each partner is shown and updated with every transaction. I used GnuCash for many years to manage my personal finances and those of my business (sole proprietorship). It really shines for data integrity (I never lost data), customer management (decent UI for managing multiple clients and business partners) and customer invoice generation (they look pretty). I found the user interface ugly and cumbersome. GnuCash doesn't integrate cleanly with banks in the US. It's possible to import data, but the process is very clunky and error-prone. Apparently you can make bank transactions right from GnuCash if you live in Europe. Another very important limitation of GnuCash to be aware of: only one user at a time. Period. If this is important to you, don't use GnuCash. To really use GnuCash effectively, you probably have to be an actual accountant. I studied dual-entry accounting a bit while using GnuCash. Dual-entry accounting in GnuCash is a pain in the butt. Accurately recording certain types of transactions (like stock buys/sells) requires fiddling with complicated split transactions. I agree with Mariette: hire a pro. Your plan will probably work. I speak from past experience approx 5-10 years ago, when Lloyds used to offer tiered interest of up to 4% on £5000 in their Vantage accounts. It was allowed for an individual person to have up to three Vantage accounts. The criteria for obtaining the headline interest rates were simply: What I, and many others, did was to set up three Vantage accounts, call them A, B, and C, and a standing order on each to transfer minimum amount + £1 on the same day each month in this manner: This satisfied the letter of conditions, though perhaps not the spirit. Most importantly it satisfied the bank, and all three accounts received that headline interest rate. These days banks have got a little wiser to this and have started including the 'set up n direct debits' condition, which makes this a more time-consuming system to arrange - you must assign your various bills across your accounts - but I believe that the overall plan still works. They don't care where the money comes from, or whether it stays - just that it comes in. Enough people get it wrong that they don't have to worry about the few who get it perfectly right (see also: how 0% balance transfer offers can be profitable...) "Just to confirm, you don't pay interest when holding a bond, the issuer of the bond pays you interest. The idea of calculating ""present value"" is as you suggest. You discount future payments using an appropriate rate. These future payments include both the coupon payments you receive through the life of the bond and the principal repayment at the maturity of the bond - each should be discounted from the due date of the payment to today's date. A typical rate to use would be the interest you yourself could earn by investing elsewhere (this gives you some idea of how much it would cost to get those payments another way), or perhaps some standard rate, for example the interbank rates such as LIBOR or FEDFUNDS." If you would like to use linux I suggest you to use KMyMoney http://kmymoney2.sourceforge.net/ It is based on gnucash but it is easier to use IMO "Your bank is maintaining different states for transactions, and changing the state depending on real-world events and the passage of time. withdraw €100 from my bank account on 30 September […] my bank does not process the transaction until 2 October. The bank probably have that transaction marked as “pending” on 30 September, and “cleared” on 2 October. transfer €100 from Bank A to Bank B, Bank A's statement dates the transaction on 20 September, but Bank B dates it as coming in on 22 September. Similarly, bank A will have the transaction marked as “pending” initially. Bank B won't have a corresponding transaction at all, until later; they'll have it “pending” too, until they confirm the transfer. Then (probably at different times from each other) the banks will each mark the corresponding transactions “cleared”. The bookkeeping software that I use doesn't seem to allow for this ""transfer time"" between accounts. When I enter a transfer from one account to another, they both have to have the same date. You may want to learn about different bases of accounting. The simpler option is “cash-based” accounting. The simplification comes from assuming transactions take no time to transfer from one account to another, and are instantly available after that. Your book-keeping software probably books using this simpler basis for your personal finances. The more complex “accrual-based” accounting tracks each individual transaction through multiple states – “pending”, “transfer”, “cleared”, etc. – with state changes at different times – time of trade, time of settlement, etc. – to more accurately reflect the real world agreements between parties, and different availability of the money to each party. So if your book-keeping program uses “cash basis”, you'll need to pick which inaccuracy you want: book the transfer when you did it, or book the transfer when the money is available at the other end." Instead of gnucash i suggest you to use kmymoney. It's easier "You can speed up the process. Tell the person sending you the money, to log in in to their Paypal account and to click ""confirm receipt"" next to transactions related to their sending to you. After this, the money will be relased immedidiately."