Pages:
Author

Topic: Bitcoin Buchhaltung fifo, lifo,... (scripte etc, work in progress) - page 5. (Read 28644 times)

sr. member
Activity: 286
Merit: 251
Extension Blocks <3 Rootstock <3
Angenommen:
Heute: Kauf: 100g Gold für 4BTC (3139€)
Morgen: Verkauf: (die selben) 100g Gold für 3100€
Verlust: 39€

Das ist für die Steuererklärung genauso wie 4 BTC für 3100 € zu verkaufen, denn du würdest die Gewinne und Verluste aus den privaten Veräußerungsgeschäften verrechnen können.

Wenn du nicht verrechnest musst du höchstens doppelt versteuern.
sr. member
Activity: 390
Merit: 250
Wie verhält sich das denn mit Verlusten aus dem Verkauf von mittels Bitcoin gekauftem Gold?

Angenommen:
Heute: Kauf: 100g Gold für 4BTC (3139€)
Morgen: Verkauf: (die selben) 100g Gold für 3100€
Verlust: 39€

Wäre das theoretisch eine legale Art und Weise um Bitcoin in Fiat tauschen zu können, ohne dafür Steuern zahlen zu müssen?
Es ist ja innerhalb der Spekulationsfrist nur Verlust angefallen und ich hätte für das Finanzamt zwei Rechnungen, die das belegen können.
Oder zählt für den Ankauf von Gold meine Zahlung in Bitcoin rechtlich nicht, so dass mein Gewinn in dem Beispiel 3100€ wäre (welcher wiederum mit 25-28% versteuert werden müsste..)?
full member
Activity: 152
Merit: 100
@molecular: Du schreibst hier, dass LIFO optional möglich sei. Ich finde aber im Netz nur Infos, dass bei privaten Veräußerungsgeschäften mit Haltedauer unter 12 Monaten seit 2005 FIFO Pflicht ist. Zum Beispiel hier:

http://www.steuerlinks.de/steuerlexikon/lexikon/spekulationsgeschft-fifo-verfahren.html

http://www.bdsr.de/Doku/2000/15500_49/15515_y.pdf
member
Activity: 63
Merit: 10
2. hab irgendwo gelesen, dass es ne grenze von 600€ oder so gibt, bis zu der man keine gewinne versteuern muss. stimmt das?
wie siehts aber jetzt aus, wenn ich 800€ gewinn mache? muss ich dann auf die kompletten 800€ steuern zahlen oder nur auf die 200€ differenz?

Auf die kompletten 800€. Das ist nur eine Freigrenze, es gibt aber keinen Freibetrag. Siehe auch: http://www.steuernetz.de/aav_steuernetz/lexikon/K-39192.xhtml?currentModule=home


1. wie sieht es aus mit verlusten, die beim trading entstehen. hab in einem anderen thread folgendes gelesen:
Quote
Verluste aus einzelnen privaten Veräußerungsgeschäften dürfen Sie im gleichen Jahr nur mit Gewinnen aus anderen privaten Veräußerungsgeschäften jeder Art verrechnen

Siehe auch: https://bitcointalksearch.org/topic/m.3765166
full member
Activity: 202
Merit: 100
beschäftig mich grad auch etwas damit, was für steuern man zahlen muss, wenn man die haltefrist von einem jahr nicht einhält. hab ein paar fragen dazu:

1. wie sieht es aus mit verlusten, die beim trading entstehen. hab in einem anderen thread folgendes gelesen:
Quote
Verluste aus einzelnen privaten Veräußerungsgeschäften dürfen Sie im gleichen Jahr nur mit Gewinnen aus anderen privaten Veräußerungsgeschäften jeder Art verrechnen
dazu folgendes beispiel:
kaufe 2 BTC zum preis von je 100€ am 1.1
kurs steigt
verkaufe 1 BTC zum preis von 200€ am 1.2
kurs fällt
verkaufe 1 BTC zum preis von 80€ am 1.3
seh ich das richtig, dass ich dann einen gewinn von (200€-100€) + (80€-100€) = 80€ gemacht hab, den ich versteuern muss?

2. hab irgendwo gelesen, dass es ne grenze von 600€ oder so gibt, bis zu der man keine gewinne versteuern muss. stimmt das?
wie siehts aber jetzt aus, wenn ich 800€ gewinn mache? muss ich dann auf die kompletten 800€ steuern zahlen oder nur auf die 200€ differenz?

3. wie sieht es aus, wenn ich meine BTC gegen ne andere cryptocurrency tausche und später wieder zurück tausche? wie berechnen sich da gewinne?
donator
Activity: 2772
Merit: 1019
(ich verteile die Datenimport-Beschreibung auf einzelne Posts pro exchange, hier jetzt Bitcoin Central)

Datenimport Bitcoin Central

Import

Es gibt derzeit keinen automatischen export der Trade-Daten von bitcoin-central.net :-(. Ich hatte vor einiger Zeit davout (PM me for his email-address if you need it) angelabert er mailte mir einen CSV export. Header sieht so aus:

Code:
ID,"Account operation type","Operation ID","Operation type","Traded BTC","Traded currency","Price per coin","BTC address","E-mail address","Transaction ID",Amount,Currency,"Created at","Updated at","Value date"

Damit können wir die Tabelle 'bitcoin_central' anlegen und befüllen:

Code:
bitbuch=# drop table bitcoin_central;

bitbuch=# create table bitcoin_central (id int, account_operation_type varchar(16), operation_id int, operation_type varchar(16), BTC_traded decimal(20,8), FIAT_traded decimal(20,8), rate decimal(20,8), BTC_address varchar(52), email varchar(30), trans_id varchar(64), trans_amount decimal(20,8), trans_currency varchar(3), datum_created timestamp, datum_updated timestamp, datum_value timestamp);

bitbuch=# copy bitcoin_central(id, account_operation_type, operation_id, operation_type, BTC_traded, FIAT_traded, rate, BTC_address, email, trans_id, trans_amount, trans_currency, datum_created, datum_updated, datum_value)
from '/path/bitcoin_central.csv' delimiter ',' CSV HEADER;

Dannach prüfen wie im ersten Post unter "Datenimport" beschrieben.

trades

Jetzt können wir die Tabelle 'trades' befüllen:

Code:
bitbuch=# delete from trades where exchange = 'bitcoin_central';

bitbuch=# insert into trades(exchange, datum, trade_id, fiat_currency, delta_BTC, delta_fiat, delta_EUR, fee_BTC, fee_fiat, fee_EUR)

bitbuch=# select 'bitcoin_central' as exchange, datum_value, operation_id, 'EUR' as fiat_currency,
sum(case when trans_currency = 'BTC' and account_operation_type = 'NULL' then trans_amount else 0 end) as delta_BTC,
sum(case when trans_currency = 'EUR' and account_operation_type = 'NULL' then trans_amount else 0 end) as delta_fiat,
sum(case when trans_currency = 'EUR' and account_operation_type = 'NULL' then trans_amount else 0 end) as delta_EUR,
-sum(case when trans_currency = 'BTC' and account_operation_type = 'Fee' then trans_amount else 0 end) as fee_BTC,
-sum(case when trans_currency = 'EUR' and account_operation_type = 'Fee' then trans_amount else 0 end) as fee_fiat,
-sum(case when trans_currency = 'EUR' and account_operation_type = 'Fee' then trans_amount else 0 end) as fee_EUR
from bitcoin_central
where operation_type = 'Trade'
group by datum_value, operation_id, fiat_currency
order by datum_value;
donator
Activity: 2772
Merit: 1019
(ich verteile die Datenimport-Beschreibung auf einzelne Posts pro exchange, hier jetzt bitcoin.de)

Datenimport bitcoin.de

Import

Auf bitcoin.de kann man sich einen Kontoauszug runterladen.

Dieses csv-file speichern wir unter '/path/bitcoin.de'. Da dort tausender-Trennzeichen und so kram drin ist welcher das postgres csv import modul zum kotzen bringt, öffnen wir das file in office und speichern es wiederum als '/path/bitcoin.de.transformed.csv'. Kann man vielleicht auch anders machen, aber so geht's recht einfach, wenn man openoffice hat.

Dann können wir die Tabelle 'bitcoinde' anlegen und aus dem csv befüllen:

Code:
bitbuch=# drop table bitcoinde;
bitbuch=# create table bitcoinde (id serial, datum timestamp, type varchar(16), referenz varchar(100), kurs decimal(20,8), BTC_vor_fee decimal(20,8), EUR_vor_fee decimal(20,8), BTC_nach_fee decimal(20,8), EUR_nach_fee decimal(20,8), delta decimal(20,8), balance decimal(20,8));

bitbuch=# copy bitcoinde(datum, type, referenz, kurs, BTC_vor_fee, EUR_vor_fee, BTC_nach_fee, EUR_nach_fee, delta, balance) from '/path/bitcoin.de.transformed.csv' delimiter ';' CSV HEADER;

Dannach prüfen wie im ersten Post unter "Datenimport" beschrieben.

trades

Jetzt können wir die Tabelle 'trades' mit den bitcoin.de-Daten befüllen:

Code:
bitbuch=# delete from trades where exchange = 'bitcoin.de';

bitbuch=# insert into trades(exchange, datum, trade_id, fiat_currency, delta_BTC, delta_fiat, delta_EUR, fee_BTC, fee_fiat, fee_EUR)

bitbuch=# select 'bitcoin.de' as exchange, datum, id, 'EUR' as fiat_currency,
case when type = 'Kauf' then 1 else -1 end * BTC_nach_fee as delta_BTC,
case when type = 'Kauf' then -1 else 1 end * EUR_nach_fee as delta_fiat,
case when type = 'Kauf' then -1 else 1 end * EUR_nach_fee as delta_EUR,
BTC_vor_fee - BTC_nach_fee as fee_BTC,
EUR_vor_fee - EUR_nach_fee as fee_fiat,
EUR_vor_fee - EUR_nach_fee as fee_EUR
from bitcoinde where type in ('Kauf', 'Verkauf') order by datum;

legendary
Activity: 1470
Merit: 1007
Ich würde mich freuen wenn mal jemand diese Fibu von chefin angucken könnte. Ich werd nicht schlauf wie er auf den "Bestand" kommt.

Kann mich irren, aber für mich sieht es wie ein Rechenfehler in Zeile 3 aus.

>3.1.13 Verkauf 0,25Bitcoin a 400Euro/btc Bestand 250Euro(0,25btc +200Euro)

Müsste m.E. 0.25*100 (Wert einer btc zum Zeitpunkt des Rechnungsbeginns mal Anteil übriger btc) + 200 = 225, statt 250.

225-100 (Anfangsbestand) = 125 Gewinn, was der selbe Betrag wäre wie in deiner Rechnung.
donator
Activity: 2772
Merit: 1019
Du kannst mit deinem Steuerberater auch eine Datev Schnittstelle einrichten!!
D.h. du gibst zuhause am PC die Daten in Datev ein & er bekommt sie dann in seinem  Mandat angezeigt. Das mache ich auch für einige Firmen bei denen ich die Buchhaltung mache.
Du musst sie aber halt manuell von deiner csv  Datei oder mtgox abtippen


dennoch liebe Grüße

nix für ungut, hatte 'nen langen Tag und hab vielleicht etwas übertrieben reagiert. Dafür entschuldige ich mich.

Ist klar daß die Steuerberater unterschiedlicher Meinung sind. Ich arbeite halt mit meinem zusammen... was bleibt mir schon übrig.

Des weiteren habe ich mehrmals hier betont, daß ich lediglich eine Art von Buchhaltung hier beschreibe... ich sage nicht daß diese "richtig" ist. Allerdings ist die Methode mit meinem Steuerberate abgestimmt und vielleicht nicht passend für Bitcoin. Er hat sich mit dem Thema befasst, sich selbst beraten lassen und gesagt so sollten wir das machen. Ist noch nicht alles in Tüchern, ein weiterer Termin steht bald an.

Manuell abtippen in's datev steht ügrigens ausser Frage, da sind 7949 trades in meiner Tabelle und es ist noch nicht mal alles drin.

Ich würde mich freuen wenn mal jemand diese Fibu von chefin angucken könnte. Ich werd nicht schlauf wie er auf den "Bestand" kommt.
legendary
Activity: 1470
Merit: 1007
Hehehe. Hatte mich schon zuerst über deine überirdische Ruhe gewundert nachdem du nichts weiter zu dem obigen geschrieben hast.... naja, soviel dazu.

Meinen Dank für diesen Thread hast du jedenfalls.

re: Unterschied zwischen deiner Rechnung und der von Chefin.

Korrigier mich wenn ich mich irre, aber der Unterschied zwischen euren beiden Rechnungen ist erst mal, dass Chefin keinerlei Unterscheidung in "Töpfe" macht (weiss nicht ob das der korrekte Begriff ist), was allerdings hier nötig sein wird um den Unterschied festzuhalten zwischen btc die <1 Jahr und >1 Jahr gehalten werden.
hero member
Activity: 602
Merit: 500
Vertrau in Gott
Chefin,

nehmen wir mal dein beispiel

1.1.13 Einlage 100 Euro, Kauf 1Bitcoin Bestand weiterhin 100 Euro (1Btc +0Euro)
2.1.13 Verkauf 0,5Bitcoin a 200Euro/btc Bestand 150 Euro(0,5Btc + 100Euro)
3.1.13 Verkauf 0,25Bitcoin a 400Euro/btc Bestand 250Euro(0,25btc +200Euro)
4.1.13 Kauf 0,5Bitcoin a 50Euro/btc Bestand 250Euro(0,75btc + 175Euro)

Die Zahlen in Klammern kann ich nachvollziehen. Aber der Bestand? Bist du sicher daß das so stimmt? Falls ja, verrate mir bitte wie du den Bestand berechnest.


Sucht euch bitte ein  Steuerberater und lasst euch von ihm beraten und alles schriftlich geben. Lasst ihm am Jahresende auch die Rechnung machen. (dann haftet er bei Fehler)



Alles andere bringt nichts. Hier im  Forum scheiden sich die  Geistern und niemand weiß es wirklich. Auch eure Steuerberater werden unterschiedliche Meinung haben, aber die haften wenigstens bei Fehlern.

Alter jetzt hab ich aber langsam genug von der Klugscheisserei. Wenn du nichts konstruktives zu vermelden hast dann bitte ich dich woanders hinzugehen.

Du glaubst ja wohl nicht daß ich diese Scheiße hier ohne Steuerberater mache, oder? Bloss ist der leider nicht fähig die Daten von den exchanges einzusammeln und in sein DATEV reinzubringen. Ich glaube die arbeiten da gerade an einer Schnittstelle mit Mark Karpeles zusammen, hahaha, die wird dann gleichzeitig mit der neuen trading engine released... in 2 Wochen denk ich. LOL.

Und wenn ich dann zu einem Post hier eine Frage habe dann kann man mir das bitte erklären anstatt hier so einen Kack abzulassen.


Das war nicht an dich gerichtet, sondern gilt als warnung für die anderen die hier lesen.


Du kannst mit deinem Steuerberater auch eine Datev Schnittstelle einrichten!!
D.h. du gibst zuhause am PC die Daten in Datev ein & er bekommt sie dann in seinem  Mandat angezeigt. Das mache ich auch für einige Firmen bei denen ich die Buchhaltung mache.
Du musst sie aber halt manuell von deiner csv  Datei oder mtgox abtippen


dennoch liebe Grüße

donator
Activity: 2772
Merit: 1019
Chefin,

nehmen wir mal dein beispiel

1.1.13 Einlage 100 Euro, Kauf 1Bitcoin Bestand weiterhin 100 Euro (1Btc +0Euro)
2.1.13 Verkauf 0,5Bitcoin a 200Euro/btc Bestand 150 Euro(0,5Btc + 100Euro)
3.1.13 Verkauf 0,25Bitcoin a 400Euro/btc Bestand 250Euro(0,25btc +200Euro)
4.1.13 Kauf 0,5Bitcoin a 50Euro/btc Bestand 250Euro(0,75btc + 175Euro)

Die Zahlen in Klammern kann ich nachvollziehen. Aber der Bestand? Bist du sicher daß das so stimmt? Falls ja, verrate mir bitte wie du den Bestand berechnest.


Sucht euch bitte ein  Steuerberater und lasst euch von ihm beraten und alles schriftlich geben. Lasst ihm am Jahresende auch die Rechnung machen. (dann haftet er bei Fehler)


Alles andere bringt nichts. Hier im  Forum scheiden sich die  Geistern und niemand weiß es wirklich. Auch eure Steuerberater werden unterschiedliche Meinung haben, aber die haften wenigstens bei Fehlern.

Alter jetzt hab ich aber langsam genug von der Klugscheisserei. Wenn du nichts konstruktives zu vermelden hast dann bitte ich dich woanders hinzugehen.

Du glaubst ja wohl nicht daß ich diese Scheiße hier ohne Steuerberater mache, oder? Bloss ist der leider nicht fähig die Daten von den exchanges einzusammeln und in sein DATEV reinzubringen. Ich glaube die arbeiten da gerade an einer Schnittstelle mit Mark Karpeles zusammen, hahaha, die wird dann gleichzeitig mit der neuen trading engine released... in 2 Wochen denk ich. LOL.

Und wenn ich dann zu einem Post hier eine Frage habe dann kann man mir das bitte erklären anstatt hier so einen Kack abzulassen.
hero member
Activity: 602
Merit: 500
Vertrau in Gott
Chefin,

nehmen wir mal dein beispiel

1.1.13 Einlage 100 Euro, Kauf 1Bitcoin Bestand weiterhin 100 Euro (1Btc +0Euro)
2.1.13 Verkauf 0,5Bitcoin a 200Euro/btc Bestand 150 Euro(0,5Btc + 100Euro)
3.1.13 Verkauf 0,25Bitcoin a 400Euro/btc Bestand 250Euro(0,25btc +200Euro)
4.1.13 Kauf 0,5Bitcoin a 50Euro/btc Bestand 250Euro(0,75btc + 175Euro)

Die Zahlen in Klammern kann ich nachvollziehen. Aber der Bestand? Bist du sicher daß das so stimmt? Falls ja, verrate mir bitte wie du den Bestand berechnest.


Sucht euch bitte ein  Steuerberater und lasst euch von ihm beraten und alles schriftlich geben. Lasst ihm am Jahresende auch die Rechnung machen. (dann haftet er bei Fehler)


Alles andere bringt nichts. Hier im  Forum scheiden sich die  Geistern und niemand weiß es wirklich. Auch eure Steuerberater werden unterschiedliche Meinung haben, aber die haften wenigstens bei Fehlern.

donator
Activity: 2772
Merit: 1019
Chefin,

nehmen wir mal dein beispiel

1.1.13 Einlage 100 Euro, Kauf 1Bitcoin Bestand weiterhin 100 Euro (1Btc +0Euro)
2.1.13 Verkauf 0,5Bitcoin a 200Euro/btc Bestand 150 Euro(0,5Btc + 100Euro)
3.1.13 Verkauf 0,25Bitcoin a 400Euro/btc Bestand 250Euro(0,25btc +200Euro)
4.1.13 Kauf 0,5Bitcoin a 50Euro/btc Bestand 250Euro(0,75btc + 175Euro)

Die Zahlen in Klammern kann ich nachvollziehen. Aber der Bestand? Bist du sicher daß das so stimmt? Falls ja, verrate mir bitte wie du den Bestand berechnest.
donator
Activity: 2772
Merit: 1019
(ich verteile die Datenimport-Beschreibung auf einzelne Posts pro exchange, hier jetzt mtGox)

Datenimport mtGox

Import

Nun saugt man sich die trade-historien von mtGox (sowohl USD als auch BTC) in files mit Namen: "mtgox_BTC.csv" und "mtgox_USD.csv". Ich glaub da gibt's so Unsinn wie: "älter als 3 Monate" und "jünger als 3 monate"? Ich glaub da hab ich einfach die CSV-Dateien aneinandergehängt.

Und importiert diese in die db:

Code:
bitbuch=# drop table mtgox;

bitbuch=# create table mtgox(id serial, index integer, trade_id bigint default null, currency varchar(3) default null, datum timestamp, type varchar(10), info varchar(256), value numeric(22,8), balance numeric(22,8));

bitbuch=# copy mtgox(index, datum, type, info, value, balance) from '/path/mtgox_BTC.csv' delimiter ',' CSV HEADER;

bitbuch=# update mtgox set currency='BTC' where currency is null;

bitbuch=# copy mtgox(index, datum, type, info, value, balance) from '/path/mtgox_USD.csv' delimiter ',' CSV HEADER;

bitbuch=# update mtgox set currency='USD' where currency is null;

bitbuch=# update mtgox set trade_id=substring(info from '.*tid:(.*)].*')::bigint;


nun kann man die "mtgox"-Tabelle mal anschauen, ob's auch gut aussieht:

Code:
bitbuch=# select * from mtgox order by trade_id limit 10;

Ich hatte dann noch durch einen Bug entstandene und gecancelte trades drin (millionen von $), welche ich einfach rausgelöscht hab:

Code:
bitbuch=# select * from mtgox where value > 10000;
bitbuch=# delete from mtgox where value > 10000;

trades

Jetzt kommen die mtgox-daten in einen neue Tabelle namens "trades". Die soll dann mal alle trades (auch von anderen Exchanges) enthalten.
(Die erste Zeile ist nur beim ersten mal nötig, wenn die Tabelle noch nicht existiert)

Code:
bitbuch=#  create table trades(id serial, exchange varchar(16), datum timestamp, trade_id bigint, delta_BTC numeric(20,8), delta_USD numeric(20,8), fee_BTC numeric(20,8), fee_USD numeric(20,8));
bitbuch=# delete from trades where exchange='mtgox';
bitbuch=# insert into trades(exchange, datum, trade_id, delta_BTC, delta_USD, fee_BTC, fee_USD)
select
  'mtgox',
  datum as datum,
  trade_id,
  sum(case when currency = 'BTC' then value else 0 end * case when type='out' then -1 else 1 end) as delta_BTC,
  sum(case when currency = 'USD' then value else 0 end * case when type='spent' then -1 else 1 end) as delta_USD,
  sum(case when currency = 'BTC' then value else 0 end * case when type='fee' then -1 else 0 end) as fee_BTC,
  sum(case when currency = 'USD' then value else 0 end * case when type='fee' then -1 else 0 end) as fee_USD
from mtgox
where trade_id is not null -- exclude withdraws/deposits/...
group by trade_id, datum
order by trade_id asc;

Dannach prüfen wie im ersten Post unter "Datenimport" beschrieben.
donator
Activity: 2772
Merit: 1019
@Cheesle: Das sind gute Fragen und ich bin mir nicht sicher. Aufheben der Daten ist natürlich auf jeden Fall angeraten. Wahrscheinlich kann ich dir im Dezember mehr dazu sagen. Ich glaube persönlich nicht, daß du irgendwas machen musst (ausser vielleicht vorbereitet sein).

Ich hab den first post editiert (Änderung datentype "datum" date -> timestamp")
legendary
Activity: 2618
Merit: 1006
Urgh, ich weiß schon, wieso ich nicht Wirtschaft studiere... Wink

Ist aber zumindest interessant zu sehen, wie schon so ein rel. einfaches Beispiel schon zu Verwirrung und unterschiedlichen Interpretationen führen kann. Wenigstens kann man dann die "korrekte" Version von einem Berater ermitteln lassen, ab dann kann man es vermutlich aus CSV-Dateien einfach rausparsen.
hero member
Activity: 602
Merit: 500
Vertrau in Gott
Das erinnert mich an einen alten Freund. Hat sich selbstständig gemacht und wollte die Buchhaltung selber erledigen. (trotz meinen Einwänden)

Fazit:  Seine Kasse hatte Ende des monats 20,000 Euro die er mit 19% versteuert hat. Was er erst später gemerkt hat war, dass er 15000 Euro davon selbst in die Kasse gelegt hat als wechselgeld...

Aber gut, wozu auch ein Kassenbuch  Grin Grin
legendary
Activity: 1882
Merit: 1108
Molecular: das Finanzamt wird Kurz lachen und dir dann ein paar adressen für steuerberater geben, an die du dich wenden sollst. Fibu funktioniert leider anders.

nehmen wir mal dein beispiel

1.1.13 Einlage 100 Euro, Kauf 1Bitcoin Bestand weiterhin 100 Euro (1Btc +0Euro)
2.1.13 Verkauf 0,5Bitcoin a 200Euro/btc Bestand 150 Euro(0,5Btc + 100Euro)
3.1.13 Verkauf 0,25Bitcoin a 400Euro/btc Bestand 250Euro(0,25btc +200Euro)
4.1.13 Kauf 0,5Bitcoin a 50Euro/btc Bestand 250Euro(0,75btc + 175Euro)
------
Es spielt keine Rolle ob du euro oder bitcoin rumliegen hast, da beides als Werteinheit betrachtet wird vom FA(soweit jedenfalls bis heute die Ansichten). Grundsätzlich wollen wir das auch so, weil nur dann keine MWSt erhoben wird.

Daher muss deine Buchhaltung den Wert zum Zeitpunkt des Zugangs ermitteln. Zwischenzeitliche Wertänderungen spielen erstmal keine Rolle, solange man nicht in Euro rücktauscht.

Versteuern muss man allerdings nicht die 250, sondern die 150 Gewinn, da der Anfangsbestand abgezogen wird. Und im darauffolgenden Jahr hat man dann auch mehr in der Kasse. Nehmen wir mal 33% Steuer an, würden folglich 50euro steuer fällig, 200Euro bleiben in der Kasse. Davon 0,75btc und 125Euro.

Ich sagte ja schon, Buchhaltung folgt eigenen Regeln. Lege ich die reine Mathematik zugrunde komme ich natürlich auf andere Ergebnisse. Deswegen ist ein Mathematiker nicht automatisch ein Buchhalter und deswegen ist ein Arzt bettelarm, steigt in den Porsche und fährt ins Jagdhaus am Chiemsee.

Investiert einfach mal 50 oder 100Euro in einen Buchhaltungskurs oder lasst euch von einem Steuerberater mal etwas aufklären. Ansonsten gehe ich von der momentan publizierten Lage aus. Das FA sieht btc als Geldersatz an. Ändert sich diese Ansicht, könnte es nötig sein, anders zu buchen. Wichtig ist in jedemfall, das man jeden Trade belegen kann. Bei Barkauf reicht dazu auch ein selbstgeschriebener Beleg. Mehr hat man ja auch nicht, die alternative wäre ja sonst: es ist nie passiert(und wenns dann doch rauskommt, weil der Handelspartner seine Seite beim Finanzamt angibt, hat man ein verfahren wegen Steuerhinterziehung am Hals). Daher wird in einem solchen Fall ein selbst geschriebender Beleg akzeptiert.
donator
Activity: 2772
Merit: 1019
Ah, also eher so:

Über ein Jahr verteilt folgende Trades:

1 BTC erhalten (einfachheitshalber nicht via Mining), dafür 100 EUR gezahlt. "Interner Preis" ab sofort 100 EUR pro BTC.
0.5 BTC verkauft, zu einem höheren Kurs, 100 EUR erhalten. Interner Preis ab sofort 200 EUR/BTC, 100 EUR nicht realisierter Gewinn, 0 EUR realer Gewinn.
weitere 0.25 BTC verkauft, wieder höherer Kurs, 100 EUR erhalten. Interner Preis ab sofort 400 EUR/BTC, 100 EUR nicht realisierter Gewinn, 100 EUR realer Gewinn.
Preis bricht ein.
Um 50 EUR 0.5 BTC gekauft. Interner Preis ab sofort 100 EUR/BTC, 75 EUR nicht realisierter Gewinn, 50 EUR realer Gewinn

Ich stehe also am Schluss mit 0.75 BTC da, die beim letzten Trade 75 EUR wert waren und habe 50 EUR Gewinn mit Trading gemacht.

Würde das so stimmen?
Ich nehme stark an, es sollte mit ledger auch möglich sein, Verkäufe auf ein Gewinnkonto zu buchen...

wieder falsch (jedenfalls wenn du versuchst zu verstehen was ich hier mache, ob das nun richtig ist, steht hier hoffentlich nicht geschrieben). ich nehm mal dein Beispiel und spiel es durch:

Aktion 1, 1.1.2013: Kauf 1 BTC bei Kurs 100 €/BTC
  => gewinn: keiner, da kein Verkauf
  => zustand_toepfe: [{1.1.2013, 1 BTC, 100 €/BTC}]

Aktion 2, 2.1.2013: Verkauf 0.5 BTC bei Kurs 200 €/BTC
  => gewinn: 0.5 * (200€ - 100€) = 0.5 * 100€ = 50€
  => zustand_toepfe: [{1.1.2013, 0.5 BTC, 100 €/BTC}]

Aktion 3, 3.1.2013: Verkauf 0.25 BTC bei Kurs 400 €/BTC
  => gewinn: 0.25 * (400€ - 100€) = 0.25 * 300€ = 75€
  => zustand_toepfe: [{1.1.2013, 0.25 BTC, 100 €/BTC}]

Preis bricht ein.

Aktion 4, 4.1.2013: Kauf 0.5 BTC bei Kurs 50 €/BTC
  => gewinn: keiner, da kein Verkauf
  => zustand_toepfe: [{1.1.2013, 1 BTC, 100 €/BTC}, {4.1.2013, 0.5 BTC, 50 €/BTC}]

Endabrechnung:

  Du hast 0.75 BTC auf dem Konto (das interessiert aber das FA nicht und gibst du auch nicht an)
  Du hast €125 Gewinn gemacht

Man kann jetzt hier weiterspielen und kommt dann zu solchen Fragen wie: aus welchem der beiden Töpfe entnehme ich die coins zum Verkauf? Bei FIFO nimmt man den ältestens Topf ({1.1.2013, 1 BTC, 100 €/BTC}) zuerst, bei LIFO den neusten ({4.1.2013, 0.5 BTC, 50 €/BTC})
Pages:
Jump to: