How to account for Capital Gains (Losses) in double-entry accounting?
"First, the balance sheet is where assets, liabilities, & equity live. Balance Sheet Identity: Assets = Liabilities (+ Equity) The income statement is where income and expenses live. General Income Statement Identity: Income = Revenue - Expenses If you want to model yourself correctly (like a business), change your ""income"" account to ""revenue"". Recognized & Realized If you haven't yet closed the position, your gain/loss is ""recognized"".  If you have closed the position, it's ""realized"". Recognized Capital Gains(Losses) Assuming no change in margin requirements: Margin interest should increase margin liabilities thus decrease equity and can be booked as an expense on the income statement. Margin requirements for shorts should not be booked under liabilities unless if you also book a contra-asset balancing out the equity.  Ask a new question for details on this. Realized Capital Gains(Losses) Balance Sheet Identity Concepts One of the most fundamental things to remember when it comes to the balance sheet identity is that ""equity"" is derived. If your assets increase/decrease while liabilities remain constant, your equity increases/decreases. Double Entry Accounting The most fundamental concept of double entry accounting is that debits always equal credits. Here's the beauty: if things don't add up, make a new debit/credit account to account for the imbalance.  This way, the imbalance is always accounted for and can help you chase it down later, the more specific the account label the better." Capital is an Asset. Decreasing value of capital is the decreasing value of an asset. When you buy the forex asset * DR Forex Asset * CR Cash When you sell * DR Cash  * CR Forex Asset The difference is now accounted for Here is how: Gains (and losses) are modifications to your financial position (Balance sheet). At the end of the period you take your financial performance (Profit and Loss) and put it into your balance sheet under equity. Meaning that afterwards your balance sheet is better or worse off (Because you made more money = more cash or lost it, whatever). You are wanting to make an income account to reflect the forex revaluation so at the end of the period it is reflected in profit then pushed into your balance sheet. Capital gains directly affect your balance sheet because they increase/decrease your cash and your asset in the journal entry itself (When you buy and sell it). If making money this way is actually how you make you make an income it is possible to make an account for it. If you do this you periodically revalue the asset and write off the changes to the revaluation account. You would do something like *DR Asset *CR Forex Revaluation account; depending on the method you take. Businesses mostly do this because if the capital gains are their line of business they will be taxed on it like it is income. For simplicity just account for it when you buy and sell the assets (Because you as an individual will only recognise a profit/loss when you enter and exit). Its easier to think about income and expenses are extensions of equity. Income increases your equity, expenses decrease it. This is how they relate to the accounting formula (Assets = Liabilities + Owners Equity)
"For any accounts where you have a wish to keep track of dividends, gains and losses, etc., you will have to set up a an account to hold the separately listed securities.  It looks like you already know how to do this.  Here the trading accounts will help you, especially if you have Finance:Quote set up (to pull security prices from the internet). For the actively-managed accounts, you can just create each managed account and NOT fill it with the separate securities.  You can record the changes in that account in summary each month/year as you prefer. So, you might set up your chart of accounts to include these assets: And this income: The actively-managed accounts will each get set up as Type ""Stock.""  You will create one fake security for each account, which will get your unrealized gains/losses on active accounts showing up in your trading accounts.  The fake securities will NOT be pulling prices from the internet.  Go to     Tools -> Securities Editor -> Add and type in a name such as ""Merrill Lynch Brokerage,"" a symbol such as ""ML1,"" and in the ""Type"" field input something like ""Actively Managed."" In your self-managed accounts, you will record dividends and sales as they occur, and your securities will be set to get quotes online.  You can follow the general GnuCash guides for this.   In your too-many-transactions actively traded accounts, maybe once a month you will gather up your statements and enter the activity in summary to tie the changes in cost basis.  I would suggest making each fake ""share"" equal $1, so if you have a $505 dividend, you buy 505 ""shares"" with it.  So, you might have these transactions for your brokerage account with Merrill Lynch (for example): When you have finished making your period-end summary entries for all the actively-managed accounts, double-check that the share balances of your actively-managed accounts match the cost basis amounts on your statements.  Remember that each fake ""share"" is worth $1 when you enter it.  Once the cost basis is tied, you can go into the price editor (Tools -> Price Editor) and enter a new ""price"" as of the period-end date for each actively-managed account.  The price will be ""Value of Active Acct at Period-End/Cost of Active Acct at Period-End.""  So, if your account was worth $1908 but had a cost basis of $505 on Jan. 31, you would type ""1908/505"" in the price field and Jan. 31, 2017 in the date field. When you run your reports, you will want to choose the price source as ""Nearest in Time"" so that GnuCash grabs the correct quotes. This should make your actively-managed accounts have the correct activity in summary in your GnuCash income accounts and let them work well with the Trading Accounts feature." "You have a sequence of questions here, so a sequence of answers: If you stopped at the point where you had multiple wins with a net profit of $72, then you would pay regular income tax on that $72. It's a short term capital gain, which does not get special tax treatment, and the fact that you made it on multiple transactions does not matter. When you enter your next transaction that takes the hypothetical loss the question gets more complicated. In either case, you are paying a percentage on net gains.  If you took a two year view in the second case and you don't have anything to offset your loss in the second year, then I guess you could say that you paid more tax than you won in the total sequence of trades over the two years. Although you picked a sequence of trades where it does not appear to play, if you're going to pursue this type of strategy then you are likely at some point to run into a case where the ""wash sale"" rules apply, so you should be aware of that.  You can find information on this elsewhere on this site and also, for example, here: http://www.marketwatch.com/story/understanding-the-wash-sale-rules-2015-03-02  Basically these rules require you to defer recording a loss under some circumstances where you have rapid wins and losses on ""substantially identical"" securities. EDIT A slight correction, you can take part of your losses in the second year even if you have no off-setting gain.  From the IRS: If your capital losses exceed your capital gains, the amount of the excess loss that you can claim on line 13 of Form 1040 to lower your income is the lesser of $3,000, ($1,500 if you are married filing separately)" If you have made $33k from winning trades and lost $30k from loosing trades your net gain for the year would be $3k, so obviously you would pay taxes only on the net $3k gains. The thing is that you only need one entry, not two. That's the beauty of double entry - since you have double entry system, every transaction will create two entries. So you don't need to create two transactions, you only need one. So you got a $30 gift. You credit Income:Gifts and on the other side Assets:Checking. Your general ledger entry (Menu->Tools->General Ledger) will look like this: You end up with balances: Which represent your total income and your current balance. Similarly with expense for food: GL will look like this: Balances: And you keep track of totals properly. "Asset = Equity + (Income - Expense) + Liability Everything could be cancelled out in double entry accounting.  By your logic, if the owner contributes capital as asset, Equity is ""very similar"" to Asset.  You will end up cancelling everything, i.e. 0 = 0.  You do not understate liability by cancelling them with asset.  Say you have $10000 debtors and $10000 creditors. You do not say Net Debtors = $0 on the balance sheet.  You are challenging the fundamental concepts of accounting.  Certain accounts are contra accounts. For example, Accumulated Depreciation is Contra-Asset. Retained Loss and Unrealized Revaluation Loss is Contra-Equity." I had to implement a simplistic double-entry accounting system, and compiled a list of resources. Some of them are more helpful than others, but I'll share them all with you. Hope this helps! Simplifying accounting principles for computer scientists: http://martin.kleppmann.com/2011/03/07/accounting-for-computer-scientists.html See this excellent article on how Debits and Credits work: http://accountinginfo.com/study/je/je-01.htm See this article for an example Chart of Accounts with lots of helpful descriptions: http://www.netmba.com/accounting/fin/accounts/chart/ Excellent PDF by Martin Fowler on Accounting Patterns using an event-drive system: http://www.martinfowler.com/apsupp/accounting.pdf Additional useful resources by Martin Fowler: http://martinfowler.com/articles.html#ap Ideas on using Domain-Driven-Design (DDD): https://stackoverflow.com/questions/5482929/how-to-use-object-oriented-programming-with-hibernate Double Entry Accounting in Relational Databases: http://homepages.tcp.co.uk/~m-wigley/gc_wp_ded.html Double Entry Accounting in Rails: http://www.cuppadev.co.uk/dev/double-entry-accounting-in-rails/ Joda-Money: http://joda-money.sourceforge.net/ Joda-Money Notes: http://joda-money.svn.sourceforge.net/viewvc/joda-money/JodaMoney/trunk/Notes.txt?revision=75&view=markup Blog entry with good comments: http://www.jroller.com/scolebourne/entry/joda_money Related Blog Entry: http://www.jroller.com/scolebourne/entry/serialization_shared_delegates JMoney: http://jmoney.sourceforge.net/wiki/index.php/Main_Page JMoney QIF Plugin: http://jmoney.sourceforge.net/wiki/index.php/Qif_plug-in Ledger on GitHub: https://github.com/jwiegley/ledger/tree/master/src/ Implementing Money class in Java: http://www.objectivelogic.com/resources/Java%20and%20Monetary%20Data/Java%20and%20Monetary%20Data.pdf  Martin Fowler's implementation in Patterns of Enterprise Application Architecture page 489, View partial content in Google Books: http://books.google.com/books?id=FyWZt5DdvFkC&printsec=frontcover&dq=Patterns+of+Enterprise+Application+Architecture&source=bl&ots=eEFp4xYydA&sig=96x5ER64m5ryiLnWOgGMKgAsDnw&hl=en&ei=Kr_wTP6UFJCynweEpajyCg&sa=X&oi=book_result&ct=result&resnum=7&ved=0CEQQ6AEwBg#v=onepage&q&f=false XML based API for an accounting service, might get some ideas from it: http://www.objacct.com/Platform.aspx The way the wash sale works is your loss is added to your cost basis of the buy.  So suppose your original cost basis is $10,000.  You then sell the stock for $9,000 which accounts for your $1,000 loss.  You then buy the stock again, say for $8,500,  and sell it for $9,000.  Since your loss of $1,000 is added to your cost basis, you actually still have a net loss of $500. You then buy the stock again for say $10,500,  then sell it for $9,500.  Your $500 loss is added to your cost basis,  and you have a net loss of $1,500. Since you never had a net gain, you will not owe any tax for these transactions. I can't give you a specific answer because I'm not a tax accountant, so you should seek advice from a tax professional with experience relevant to your situation. This could be a complicated situation. That being said, one place you could start is the Canada Revenue Agency's statement on investment income, which contains this paragraph: Interest, foreign interest and dividend income, foreign income,   foreign non-business income, and certain other income are all amounts   you report on your return. They are usually shown on the following   slips: T5, T3, T5013, T5013A To avoid double taxation, Canada and the US almost certainly have a foreign tax treaty that ensures you are only taxed in your country of residence. I'm assuming you're a resident of Canada. Also, this page states that: If you received foreign interest or dividend income, you have to   report it in Canadian dollars. Use the Bank of Canada exchange rate   that was in effect on the day you received the income. If you received   the income at different times during the year, use the average annual   exchange rate. You should consult a tax professional. I'm not a tax professional, let alone one who specializes in the Canadian tax system. A professional is the only one you should trust to answer your question with 100% accuracy. Once the business is shut down, you'll need to show that the corporation is in bankruptcy and the amounts are unrecoverable. You can then report it as investment loss. I suggest talking to a tax adviser (EA/CPA licensed in your State), and maybe an attorney, on what the specific technical details are. "I think the ""right"" way to approach this is for your personal books and your business's books to be completely separate. You would need to really think of them as separate things, such that rather than being disappointed that there's no ""cross transactions"" between files, you think of it as ""In my personal account I invested in a new business like any other investment"" with a transfer from your personal account to a Stock or other investment account in your company, and ""This business received some additional capital"" which one handles with a transfer (probably from Equity) to its checking account or the like. Yes, you don't get the built-in checks that you entered the same dollar amount in each, but (1) you need to reconcile your books against reality anyway occasionally, so errors should get caught, and (2) the transactions really are separate things from each entity's perspective. The main way to ""hack it"" would be to have separate top-level placeholder accounts for the business's Equity, Income, Expenses, and Assets/Liabilities. That is, your top-level accounts would be ""Personal Equity"", ""Business Equity"", ""Personal Income"", ""Business Income"", and so on. You can combine Assets and Liabilities within a single top-level account if you want, which may help you with that ""outlook of my business value"" you're looking for. (In fact, in my personal books, I have in the ""Current Assets"" account both normal things like my Checking account, but also my credit cards, because once I spend the money on my credit card I want to think of the money as being gone, since it is. Obviously this isn't ""standard accounting"" in any way, but it works well for what I use it for.) You could also just have within each ""normal"" top-level placeholder account, a placeholder account for both ""Personal"" and ""My Business"", to at least have a consistent structure. Depending on how your business is getting taxed in your jurisdiction, this may even be closer to how your taxing authorities treat things (if, for instance, the business income all goes on your personal tax return, but on a separate form). Regardless of how you set up the accounts, you can then create reports and filter them to include just that set of business accounts. I can see how just looking at the account list and transaction registers can be useful for many things, but the reporting does let you look at everything you need and handles much better when you want to look through a filter to just part of your financial picture. Once you set up the reporting (and you can report on lists of account balances, as well as transaction lists, and lots of other things), you can save them as Custom Reports, and then open them up whenever you want. You can even just leave a report tab (or several) open, and switch to it (refreshing it if needed) just like you might switch to the main Account List tab. I suspect once you got it set up and tried it for a while you'd find it quite satisfactory." "Perhaps you can track your VAT amounts in a Liability account.  Using a tax liability account is a common thing in accounting. To do this, when you receive money, split the transaction such that your actual revenue (which you will keep after VAT remittance) goes into an Asset account, and the amount you will eventually have to pay back to the state goes into a Liability account.  Later, when you pay the VAT back to the state, your transaction will effectively ""pay back"" the liability, with one end of your double-entry decreasing the funds in your checking account, and the other end decreasing the funds in your tax liability account. Having said that, I've found that there are many shortcomings in the Cash Flow report, and I'm not sure that using a tax liability account (which I think is the Right Thing to do) will necessarily solve this problem for you..." If you make money in currency speculation (as in your example), that is a capital gain. A more complicated example is if you were to buy and then sell stocks on the mexican stock exchange.  Your capital gain (or loss) would be the difference in value in US dollars of your stocks accounting for varying exchange rates.  It's possible for the stocks to go down and for you to still have a capital gain, and vice versa. On line 21 of Schedule D, you write the smaller of So, in your case, since your Line 16 shows a loss of more than $3000 on Line 21, you write 3000 on Line 21 (the parentheses indicating that is it a negative number are already included on the form). Also, you write (3000) on Form 1040 Line 13. The rest of the loss is a carryover to next year (be sure to fill out the Capital Loss Carryover Worksheet where the carryover to next year is computed). Summary: you cannot write 0 on Line 21 of Schedule D and carry over the entire loss to next year. You must deduct $3000 this year and carry over the rest of the loss to next year. Capital gains taxes for a year are calculated on sales of assets that take place during that year.  So if you sell some stock in 2016, you will report those gains/losses on your 2016 tax return. how is it double taxation when you didn't start off with that extra $100?  it's double taxation if they taxed you on the total amount you pulled out of the market, not the profit you made.   explain the math on your last part, please.