Finansielle Kontrakter Tax: Rubrik 346 for Danish Traders
Futures are financial contracts under Danish law: mark-to-market, capital income rates, and one specific box on the return. How rubrik 346 works in practice.
General information about tax rules, not tax or legal advice. Rules change and every situation is different: check with a qualified adviser in your country before you file.
Denmark does one thing to futures traders that almost nobody warns them about, and one thing almost nobody explains in English.
The first we covered in lagerprincippet: taxed on unrealised gains. Financial contracts are marked to market every year, open positions included, whether or not you took a krone out. The second is pure practicality, and it is what people are actually searching for at eleven at night in April: fine, I have computed the number, where does it go on the return?
Why futures are "financial contracts"
Danish tax law sorts your CME activity into the finansielle kontrakter regime under kursgevinstloven. The category is broad: futures, forwards, options, CFDs and similar instruments whose value derives from something else. Equity index futures, energy, metals and the micro versions of all of them sit inside it.
Three structural consequences follow, and they shape everything else.
- Mark-to-market, lagerprincippet. Your taxable result for the year is the change in value of your contracts across the year, realised and unrealised alike. A position open on 31 December counts at its year-end value. Holding does not defer anything: it moves the taxable event to 31 December of the year you are already in.
- Capital income treatment. The net result lands as kapitalindkomst and is taxed alongside your other income under the ordinary rules rather than in a separate flat bucket. What you actually pay depends on your municipality, your other income and where you sit relative to the top-bracket thresholds, so look up the current numbers rather than trusting a percentage you half remember.
- Ring-fenced losses. Net losses on financial contracts do not melt into your salary. They are kildeartsbegrænset, source restricted, and wait for future gains on financial contracts. That asymmetry is what makes a December drawdown a genuine tax event rather than merely a bad week.
Two boundary cases come up constantly. Ordinary listed shares are not financial contracts: they sit under a different regime with different rates and different loss rules, and merging the two in your records is how a straightforward year becomes an unpleasant one. And structured products and certificates need checking, because some retail products that look like a share behave, for tax purposes, like a contract.
For a day trader who is flat every night, the mark-to-market rule is close to invisible: everything was realised anyway, so the 31 December snapshot finds nothing open. For a swing trader carrying positions across the new year, it is the defining rule of the whole tax year.
Working out the year, with numbers
The calculation is mechanical once the inputs are right. Contract by contract:
- Open at the start of the year and open at the end: value on 31 December minus value on 1 January.
- Opened during the year, still open at year end: year-end value minus what you paid.
- Opened and closed inside the year: the ordinary realised result.
- Open at the start, closed during the year: the closing result minus the value at 1 January.
Then you sum them. What goes on the return is a net figure for the year, not a list of individual trades.
For a futures account there is a shortcut, because a futures broker already marks positions to market every single day. Account equity at year end, adjusted for deposits and withdrawals, is very close to what the rule is asking for. An illustrative example, invented for clarity:
- Equity at 1 January: USD 20,000.
- Deposits during the year: USD 5,000.
- Withdrawals during the year: USD 8,000.
- Equity at 31 December: USD 26,500, including one open MES position.
The year's result is 26,500 minus 20,000 minus 5,000 plus 8,000, which is USD 9,500. Deposits and withdrawals are not results and have to come out, and that single step is where most DIY calculations go wrong.
Two cautions about the shortcut. It works cleanly only when the account holds nothing but financial contracts: interest credited on a cash balance is not a financial contract result and belongs elsewhere. And commissions, exchange fees and clearing fees paid on those contracts reduce the result, so keep them broken out in your own records rather than trusting a single net figure on a platform screen. If anything is ever queried you will be asked to show the components.
From broker statement to rubrik 346
The practical annual routine for a Dane with a US futures broker, in order:
- Collect the year-end statement plus December's, showing realised results for the year and any open positions with their year-end marks. Download it in January, not in April, because broker portals lose history.
- Compute the annual result Danish-style: realised results plus the change in value of open positions, converted into kroner at the relevant dates' rates. Nationalbanken's published rates are the clean source. One spreadsheet: date, USD, rate, DKK.
- Net gains and losses across your financial contracts for the year, then apply any loss carryforward registered from earlier years.
- Enter the net figure in rubrik 346 on the oplysningsskema at skat.dk. Where the contract is issued abroad, Skat's guidance points to a separate box used instead of 346, so check which applies to your broker before you type.
- If the year is a loss, put it in the dedicated loss field so the carryforward registers. This is the step people skip and regret.
The thing to internalise: a foreign broker reports nothing to Skattestyrelsen. Danish banks feed the system automatically, and Chicago does not. The number exists only because you put it there, and the evidence exists only because you kept it.
Losses, carryforward and the balance boxes
Here is the part that catches people who had a bad year and expected the system to soften it.
A loss on financial contracts can be deducted only against taxable net gains on financial contracts that you have previously declared, going back to the 2002 income year. Whatever is left cannot be set against salary, rental income or share gains. It is carried forward and waits.
Read that again if you are in your first year. A beginner who loses money on futures before ever making any gets no relief at all in that year. The loss is not gone, but it is parked, and it only becomes worth something when you produce net gains on financial contracts later.
The reporting side of this is where the money actually disappears. The year's result and the loss balance are reported separately. Skat's guidance on financial contracts points to a set of boxes covering the net result, the foreign-contract variant, the carried-forward loss balance on general financial contracts, a separate balance for share-based contracts (the ones that may under conditions reach across to share gains), the election about how a loss is used including transfer to a spouse, and the case where you are offsetting part of a loss and an accompanying form is required.
Box numbers do change between years, so open the current guide in E-tax before you file rather than copying any list from an article. What does not change is the principle:
- Declare the loss anyway. A carryforward has to be registered to exist. Silence in a losing year costs you the deduction in the good one.
- Track the balance yourself. Keep a running note of the unused loss by year. Skattestyrelsen holds a figure too, and you should be able to reconcile against it rather than discover it.
- Keep contract types separate. General contracts and share-based contracts have their own balances and their own boxes. Merging them in your records makes the return unfillable.
Cash flow, forskudsopgørelse and why December stings
Mark-to-market creates a problem a realisation-based system does not: tax on money you have not taken out.
Two habits fix it. The first is to update your forskudsopgørelse, the preliminary income assessment, as soon as you know the year is going well. Adding the expected capital income there means the tax is collected during the year rather than landing afterwards as a restskat, and a restskat above the free amount carries an interest surcharge that is pure avoidable cost. The second is to hold cash back. If the account is meaningfully up going into December, assume a chunk of that increase belongs to Skattestyrelsen and do not recycle it into position size.
There is a strategic question here that deserves an honest answer rather than a clever one. Some traders reduce or close positions before year end specifically to control the snapshot. That is legitimate in the sense that you are free to choose when you carry risk. It is also a bad reason to exit a trade your method says to hold. Do not let a date on a calendar make trading decisions. Let it inform position sizing in the last two weeks of the year, which is a much smaller intrusion and achieves most of the same thing.
On the calendar itself: the standard deadline for the oplysningsskema is 1 May, and taxpayers who have to file the extended version, which includes many people with foreign income, have until 1 July. Check which applies to you in E-tax rather than assuming, because foreign broker income frequently moves people into the second group without telling them.
Dollars into kroner, and the records nobody keeps
Your contracts settle in dollars, your return is in kroner, and the conversion is part of the calculation at both ends of the snapshot. Converting everything at one January rate produces a different result from dated conversions, sometimes by more than the effort of doing it properly. The documented version wins any discussion.
What should be on file every year, without exception:
- Account statements showing value at the start and the end of the year.
- Every deposit and withdrawal with date and amount, because they are not gains and must be stripped out.
- The exchange rates used, on a consistent and explainable basis.
- Commissions, exchange and clearing fees, separately from the trading result.
- Invoices and payment records for platform licences, market data and any system you bought, filed with the year they relate to.
Download the statements monthly. Brokers change platforms, retire old portals and lose history, and reconstructing a year from memory when the download link no longer works is a genuinely miserable weekend.
Mistakes Skattestyrelsen sees constantly
Reporting only realised trades. Lagerprincippet includes open positions. The broker's realised P&L line on its own is the wrong number, and it is the number almost every first-time filer uses.
Forgetting the loss box. An unreported loss year does not carry forward by magic. File it, or the offset is gone when the good year finally arrives.
Leaving deposits in the calculation. Adding capital to an account is not a gain. It is the arithmetic error that turns a flat year into a phantom profit.
Currency shortcuts. One rate for the whole year is fast and indefensible. Small effort, real difference.
Assuming the broker reported for you. With account information now flowing to Denmark from abroad anyway, the mismatch between a known foreign account and an empty box is exactly the pattern that generates letters.
I closed everything before 31 December. Do I still fill in 346?
Yes. The box carries the year's net result on financial contracts whether or not anything was open at year end. Being flat simplifies the calculation; it does not remove the reporting.
I lost money in my first year. Is there any point filing?
Every point. That is the whole mechanism by which the loss becomes worth something later. An unregistered loss is not a deferred deduction, it is a deduction you gave away.
The statement says realised P&L. Can I just use that?
Only if nothing was open at year end and nothing was open at the start. Otherwise you need the change in value of the open positions as well.
I trade futures and hold shares. Can the loss cross over?
Generally no. Share-based contracts are the narrow exception under conditions, and ordinary futures on an index are not the same thing as shares. Keep the records separate and ask before assuming.
Which rate do I use for dollars?
A consistent, documented basis using published rates for the relevant dates. Nationalbanken is the obvious source. Choose the method once and apply it to the whole year, including deposits and withdrawals.
Do I need a revisor?
If you are carrying positions across a year end with real money on them, an hour of a Danish adviser's time is the cheapest part of this entire business. For a flat day-trading account with clean statements, a careful spreadsheet and the current E-tax guide will usually do it.
The regime is strict and mechanical, which, once you accept it, makes it plannable. Write down your account value in kroner as of 1 January so next year's calculation starts from a number you already have. Set a reminder for the second week of December to look at what you are carrying. Check the forskudsopgørelse against how the year has actually gone. Then file one correctly completed box and forget about it until the next January.
Educational content, not investment advice. Trading futures involves substantial risk of loss and is not suitable for every investor. Any reference to Algomyth results is hypothetical, simulated over historical data, and shown in full on the performance page; past performance does not guarantee future results.
Take the seat: watch the engines live
Three specialist engines on Nasdaq, S&P and Gold, every signal streamed the moment it happens, with the stop and the target written before the trade. From $149 a month per market.