Skatteguru CSV Format
Last updated: May 8, 2026
The generic Skatteguru CSV format is for stocks, ETFs, short sales, costs, dividends, and related events. Use it when you want to create your own CSV manually, convert a broker export, or fix rows that a broker-specific parser cannot understand.
Upload native broker exports first
CSV Generator
Use our wizard to quickly generate a CSV file for common scenarios:
Select Use Case
Choose what kind of data you want to import
Transfer Between Brokers
Record a transfer of shares between two brokers
Add Fees and Costs
Add a fee or cost that was incurred (e.g. bank transfer fee)
Sell
You sold shares
Buy
You bought shares
Quick Start
A minimal valid CSV needs a header row and one row per event:
Date,Type,Symbol,Quantity,Currency,Total,Description 2026-01-15,Buy,SPOT,10,USD,1500.00,Bought shares 2026-02-20,Sell,SPOT,4,USD,700.00,Sold shares 2026-03-10,Dividend,SPOT,0,USD,25.50,Cash dividend
For short selling, represent the lifecycle explicitly:
Date,Type,Symbol,Quantity,Currency,Price,Total,Fee,Account,Description 2026-04-30,Sell Short,ABTS,1408,USD,1.39,1966.31,9.19,Cobra,Opened short position 2026-05-01,Borrow Fee,ABTS,0,USD,,3.66,,Cobra,Stock borrow fee 2026-05-02,Dividend Compensation,ABTS,0,USD,,12.50,,Cobra,Payment in lieu of dividend 2026-05-03,Buy to Cover,ABTS,1408,USD,1.47,2065.18,4.58,Cobra,Covered short position
Required Columns
Date
Trade or event date.
Type
Event type, such as Buy, Sell, or Sell Short.
Symbol
Ticker or symbol. The parser may try to infer missing symbols from descriptions, but that is best effort only.
Quantity
Number of shares or units. Use 0 for cash-only rows such as borrow fees.
Currency
Currency for amounts when no more specific currency column is present.
Total or Price
Most rows need a total cash amount or a per-share price. Cash-only rows need Total.
Optional Columns
Event details
Time: event time, useful for same-day ordering.Account: account, broker, or depot name.Description: human-readable explanation. Use this for split ratios if you do not have dedicated ratio columns.ISIN: instrument ISIN for reference.
Amounts
Price: price per share or unit. IfTotalis missing, total can be derived asPrice * Quantity.Total: gross or net event amount before parser sign normalization.Fee: commission or fee connected to the row. Enter it as a positive number.
Currencies and exchanges
Price Currency,Total Currency, andFee Currency: use these when a value differs fromCurrency.Received QuantityandReceived Symbol: quantity and symbol received in a swap or exchange.
Header aliases are accepted
Datum for Date, Action for Type, Antal or Shares for Quantity, Ticker for Symbol, Amount or Belopp for Total, and Fees & Comm or Commission/Fee for Fee.Event Types
Trades
Buy: positive quantity and positive cost. Creates positive shares and negative cash flow.Sell: positive quantity recommended and positive proceeds. Creates negative shares and positive cash flow.Buy to Cover: same accounting asBuy, but clearer for short-cover rows.Sell Short: positive quantity recommended and positive proceeds. Creates negative shares and positive cash flow.
Income and costs
Dividend: quantity0and positive amount. Creates dividend income.Cost: quantity0and positive cost. Creates a general cost.Borrow Fee: quantity0and positive fee. Prefer this for short-specific borrow or locate fees.Dividend Compensation: quantity0and positive amount. Use it for payment in lieu of dividend on a short position.
Transfers and equity compensation
Transfer: signed quantity, usually with total0. Positive means transfer in, negative means transfer out.ESOP Exercise: positive quantity and positive amount for employee stock option exercise.RSU Vesting: positive quantity and positive fair market value for RSU vesting.
Corporate actions
Stock Split: positive quantity and0total. Include a ratio inDescription, such as2:1 stock split.Reverse Stock Split: positive quantity and0total. Include a ratio inDescription, such as1:10 reverse split.
Do not copy Cobra Type=Short
Type=Short to mean different things. In a manually created generic CSV, write the intent explicitly: Sell Short for opening or increasing a short and Buy to Cover for covering or reducing it.Numbers, Dates, and Signs
Number formats
Decimal points, decimal commas, US thousands separators, European thousands and decimal formatting, currency symbols, negative signs, and parenthesized negatives are accepted. Examples: 1234.56, 1234,56, 1,234.56, 1.234,56, $1234.56, -1234.56, and (1234.56).
Date and time formats
Accepted date examples include 2026-04-30, 20260430, 04/30/2026, 30/04/2026, 30-Apr-2026, Thu Apr 30 2026, 2026-04-30 14:35:00, and 2026-04-30T14:35:00Z. Accepted time examples in the Time column include 14:35 and 14:35:22.
Same-day order
Time column, we assume events in the CSV are already sorted chronologically, either ascending or descending. As long as that row order is trustworthy, you do not need to add event times. We have seen broker exports, including some Cobra CSVs, where same-day events are not always sorted in the expected order. If your results look wrong, manually sorting same-day rows in the CSV to be in the correct order (based on execution time) before uploading may be necessary.Recommended sign convention
Quantity, Total, Price, and Fee as positive numbers for normal rows. The parser applies the correct sign from Type, so Buy becomes negative cash flow and Sell Short becomes negative shares internally.Schwab
Native Schwab CSV exports are supported directly. If the file has the exact Schwab columns Date, Action, Symbol, Description, Quantity, Price, Fees & Comm, and Amount, upload it without converting.
If you create a generic Schwab-like file manually, aliases such as Trade Date, Action, Ticker, Shares, CCY, Amount, and Fees & Comm are accepted.
Trade Date,Action,Ticker,Shares,CCY,Amount,Fees & Comm,Description 07/09/2025,Sold Short,CLDI,6000,USD,$6687.80,$1.00,Short sale 08/15/2025,Short Cover,CLDI,6000,USD,($6120.00),$1.00,Covered short position
Cobra
Native Cobra CSV exports are supported directly. Exact Cobra exports use columns such as Date, Quantity, Symbol, Description, Price, fee columns, Amount, Type, and Commissions.
Native Cobra behavior
Type=Shortwith positive quantity opens or increases a short.Type=Shortwith negative quantity covers or reduces a short.- Margin rows that describe stock borrow, locate, hard-to-borrow, or short-locate fees are treated as borrow fees.
- Short-account mark-to-market and interest-like rows are ignored.
For a manually converted generic CSV, convert the rows explicitly:
Date,Type,Symbol,Quantity,Currency,Price,Total,Fee,Description 2026-04-30,Sell Short,ABTS,1408,USD,1.39,1966.31,9.19,Converted from Cobra open short 2026-04-30,Buy to Cover,ABTS,1408,USD,1.47,2065.18,4.58,Converted from Cobra cover 2026-05-01,Borrow Fee,ABTS,0,USD,,3.66,,Converted from Cobra stock borrow fee 2026-05-01,Borrow Fee,ABTS,0,USD,,12.34,,Converted from Cobra locate fee
Troubleshooting
Common fixes
- Missing symbol: add a
Symbolvalue. Description-based symbol inference can fail. - Unknown type: use one of the documented event types or a common alias.
- Zero quantity error: use
0only forDividend,Cost,Borrow Fee, andDividend Compensationrows. - Wrong sign: prefer positive totals and fees. The parser normalizes direction from
Type. - Unsupported currency: use ISO-like currency codes such as
USD,SEK,EUR, orGBP. - Split error: include a ratio in
Description, for example2:1 splitor1-for-10 reverse split. - Random CSV rejected: the file must contain recognizable generic headers or match a supported broker export.
Need Help?
Our AI assistant Skattevärk1.0 can help you create the correct CSV format.

We're Here to Help
Have questions or feedback? We'd love to hear from you. Get in touch.