Revision ef5b4b39
Von Jan Büren vor mehr als 7 Jahren hinzugefügt
SL/DATEV.pm | ||
---|---|---|
32 | 32 |
|
33 | 33 |
use SL::DBUtils; |
34 | 34 |
use SL::DATEV::KNEFile; |
35 |
use SL::DATEV::CSV; |
|
35 | 36 |
use SL::DB; |
36 | 37 |
use SL::HTML::Util (); |
37 | 38 |
use SL::Locale::String qw(t8); |
39 |
use SL::Iconv qw(convert); |
|
38 | 40 |
|
39 | 41 |
use Data::Dumper; |
40 | 42 |
use DateTime; |
... | ... | |
345 | 347 |
} |
346 | 348 |
|
347 | 349 |
sub csv_export { |
348 |
die 'not yet implemented'; |
|
350 |
my ($self) = @_; |
|
351 |
my $result; |
|
352 |
|
|
353 |
die 'no exporttype set!' unless $self->has_exporttype; |
|
354 |
|
|
355 |
if ($self->exporttype == DATEV_ET_BUCHUNGEN) { |
|
356 |
_csv_buchungsexport_to_file($self, data => $self->csv_buchungsexport); |
|
357 |
|
|
358 |
} elsif ($self->exporttype == DATEV_ET_STAMM) { |
|
359 |
die 'will never be implemented'; |
|
360 |
# 'Background: Export should only contain non |
|
361 |
# DATEV-Charts and DATEV import will only |
|
362 |
# import new Charts.' |
|
363 |
} elsif ($self->exporttype == DATEV_ET_CSV) { |
|
364 |
$result = $self->csv_export_for_tax_accountant; |
|
365 |
} else { |
|
366 |
die 'unrecognized exporttype'; |
|
367 |
} |
|
368 |
|
|
369 |
return $result; |
|
349 | 370 |
} |
350 | 371 |
|
351 | 372 |
sub obe_export { |
... | ... | |
800 | 821 |
|
801 | 822 |
my ($day, $month, $year) = split(/\./, $date); |
802 | 823 |
|
803 |
if ($day =~ /^0/) { |
|
804 |
$day = substr($day, 1, 1); |
|
805 |
} |
|
806 | 824 |
if (length($month) < 2) { |
807 | 825 |
$month = "0" . $month; |
808 | 826 |
} |
... | ... | |
949 | 967 |
$datev_data{belegfeld2} = $transaction->[$haben]->{'duedate'}; |
950 | 968 |
} |
951 | 969 |
} |
952 |
|
|
970 |
$datev_data{soll_haben_kennzeichen} = (0 < $umsatz) ? 'H' : 'S'; |
|
953 | 971 |
$datev_data{umsatz} = abs($umsatz); # sales invoices without tax have a different sign??? |
954 | 972 |
|
955 | 973 |
# Dies ist die einzige Stelle die datevautomatik auswertet. Was soll gesagt werden? |
... | ... | |
1325 | 1343 |
return { download_token => $self->download_token, filenames => \@filenames }; |
1326 | 1344 |
} |
1327 | 1345 |
|
1346 |
sub csv_buchungsexport { |
|
1347 |
my $self = shift; |
|
1348 |
my %params = @_; |
|
1349 |
|
|
1350 |
$self->generate_datev_data(from_to => $self->fromto); |
|
1351 |
return if $self->errors; |
|
1352 |
|
|
1353 |
my @datev_lines = @{ $self->generate_datev_lines }; |
|
1354 |
|
|
1355 |
my @csv_columns = SL::DATEV::CSV->kivitendo_to_datev(); |
|
1356 |
my @csv_headers = SL::DATEV::CSV->generate_csv_header( |
|
1357 |
from => $self->from->ymd(''), |
|
1358 |
to => $self->to->ymd(''), |
|
1359 |
first_day_of_fiscal_year => $self->to->year . '0101', |
|
1360 |
locked => 0 |
|
1361 |
); |
|
1362 |
|
|
1363 |
my @array_of_datev; |
|
1364 |
|
|
1365 |
# 2 Headers |
|
1366 |
push @array_of_datev, \@csv_headers; |
|
1367 |
push @array_of_datev, [ map { $_->{csv_header_name} } @csv_columns ]; |
|
1368 |
|
|
1369 |
foreach my $row ( @datev_lines ) { |
|
1370 |
my @current_datev_row; |
|
1371 |
|
|
1372 |
# format transformation |
|
1373 |
foreach (qw(belegfeld1 kost1 kost2)) { |
|
1374 |
$row->{$_} = SL::Iconv::convert("UTF-8", "CP1252", $row->{$_}) if $row->{$_}; |
|
1375 |
} |
|
1376 |
# shorten strings |
|
1377 |
if ($row->{belegfeld1}) { |
|
1378 |
$row->{buchungsbes} = $row->{belegfeld1} if $row->{belegfeld1}; |
|
1379 |
$row->{belegfeld1} = substr($row->{belegfeld1}, 0, 12); |
|
1380 |
$row->{buchungsbes} = substr($row->{buchungsbes}, 0, 60); |
|
1381 |
} |
|
1382 |
|
|
1383 |
$row->{datum} = datetofour($row->{datum}, 0); |
|
1384 |
$row->{kost1} = substr($row->{kost1}, 0, 8) if $row->{kost1}; |
|
1385 |
$row->{kost2} = substr($row->{kost2}, 0, 8) if $row->{kost2}; |
|
1386 |
|
|
1387 |
# , as decimal point and trim for UstID |
|
1388 |
$row->{umsatz} =~ s/\./,/; |
|
1389 |
$row->{ustid} =~ s/\s//g if $row->{ustid}; # trim whitespace |
|
1390 |
|
|
1391 |
foreach my $column (@csv_columns) { |
|
1392 |
if (exists $column->{max_length} && $column->{kivi_datev_name} ne 'not yet implemented') { |
|
1393 |
# check max length |
|
1394 |
die "Incorrect lenght of field" if length($row->{ $column->{kivi_datev_name} }) > $column->{max_length}; |
|
1395 |
} |
|
1396 |
if (exists $column->{valid_check} && $column->{kivi_datev_name} ne 'not yet implemented') { |
|
1397 |
# more checks |
|
1398 |
die "Not a valid value: '$row->{ $column->{kivi_datev_name} }'" . |
|
1399 |
" for '$column->{kivi_datev_name}' with amount '$row->{umsatz}'" |
|
1400 |
unless ($column->{valid_check}->($row->{ $column->{kivi_datev_name} })); |
|
1401 |
} |
|
1402 |
push @current_datev_row, $row->{ $column->{kivi_datev_name} }; |
|
1403 |
} |
|
1404 |
push @array_of_datev, \@current_datev_row; |
|
1405 |
} |
|
1406 |
return \@array_of_datev; |
|
1407 |
} |
|
1408 |
|
|
1409 |
sub _csv_buchungsexport_to_file { |
|
1410 |
my $self = shift; |
|
1411 |
my %params = @_; |
|
1412 |
|
|
1413 |
# we can definitely deny shorter data structures |
|
1414 |
croak ("Need at least 2 rows for header info") unless scalar @{ $params{data} } > 1; |
|
1415 |
|
|
1416 |
my $filename = "EXTF_DATEV_kivitendo" . $self->from->ymd() . '-' . $self->to->ymd() . ".csv"; |
|
1417 |
my @data = \$params{data}; |
|
1418 |
|
|
1419 |
# EXTF_Buchungsstapel.csv: ISO-8859 text, with very long lines, with CRLF line terminators |
|
1420 |
my $csv = Text::CSV_XS->new({ |
|
1421 |
binary => 1, |
|
1422 |
sep_char => ";", |
|
1423 |
always_quote => 1, |
|
1424 |
eol => "\r\n", |
|
1425 |
}) or die "Cannot use CSV: ".Text::CSV_XS->error_diag(); |
|
1426 |
|
|
1427 |
if ($csv->version >= 1.18) { |
|
1428 |
# get rid of stupid datev warnings in "Validity program" |
|
1429 |
$csv->quote_empty(1); |
|
1430 |
} |
|
1431 |
|
|
1432 |
my $csv_file = IO::File->new($self->export_path . '/' . $filename, '>:encoding(iso-8859-1)') or die "Can't open: $!"; |
|
1433 |
$csv->print($csv_file, $_) for @{ $params{data} }; |
|
1434 |
$csv_file->close; |
|
1435 |
|
|
1436 |
return { download_token => $self->download_token, filenames => $params{filename} }; |
|
1437 |
} |
|
1328 | 1438 |
sub DESTROY { |
1329 | 1439 |
clean_temporary_directories(); |
1330 | 1440 |
} |
... | ... | |
1522 | 1632 |
# ] |
1523 | 1633 |
# }; |
1524 | 1634 |
|
1635 |
|
|
1636 |
=item csv_buchungsexport |
|
1637 |
|
|
1638 |
Generates the CSV-Format data for the CSV DATEV export and returns |
|
1639 |
an 2-dimensional array as an array_ref. |
|
1640 |
|
|
1641 |
Requires $self->fromto for a valid DATEV header. |
|
1642 |
|
|
1643 |
Furthermore we assume that the first day of the fiscal year is |
|
1644 |
the first of January and we cannot guarantee that our data in kivitendo |
|
1645 |
is locked, that means a booking cannot be modified after a defined (vat tax) |
|
1646 |
period. |
|
1647 |
Some validity checks (max_length and regex) will be done if the |
|
1648 |
data structure contains them and the field is defined. |
|
1649 |
|
|
1650 |
To add or alter the structure of the data take a look at SL::DATEV::CSV.pm |
|
1651 |
|
|
1652 |
=item _csv_buchungsexport_to_file |
|
1653 |
|
|
1654 |
Generates one downloadable csv file wrapped in a zip archive. |
|
1655 |
Basically this method is just a thin wrapper for TEXT::CSV_XS.pm |
|
1656 |
|
|
1657 |
Generates a CSV-file with the same encodings as defined in DATEV Format CSV 2015: |
|
1658 |
$ file |
|
1659 |
$ EXTF_Buchungsstapel.csv: ISO-8859 text, with very long lines, with CRLF line terminators |
|
1660 |
|
|
1661 |
Usage: _csv_buchungsexport_to_file($self, data => $self->csv_buchungsexport); |
|
1662 |
|
|
1663 |
|
|
1525 | 1664 |
=back |
1526 | 1665 |
|
1527 | 1666 |
=head1 ATTRIBUTES |
... | ... | |
1650 | 1789 |
=head1 SEE ALSO |
1651 | 1790 |
|
1652 | 1791 |
L<SL::DATEV::KNEFile> |
1792 |
L<SL::DATEV::CSV> |
|
1653 | 1793 |
|
1654 | 1794 |
=head1 AUTHORS |
1655 | 1795 |
|
SL/DATEV/CSV.pm | ||
---|---|---|
1 |
package SL::DATEV::CSV; |
|
2 |
|
|
3 |
use strict; |
|
4 |
|
|
5 |
use SL::Locale::String qw(t8); |
|
6 |
use SL::DB::Datev; |
|
7 |
|
|
8 |
use Carp; |
|
9 |
use DateTime; |
|
10 |
|
|
11 |
|
|
12 |
my @kivitendo_to_datev = ( |
|
13 |
{ |
|
14 |
kivi_datev_name => 'umsatz', |
|
15 |
csv_header_name => t8('Transaction Value'), |
|
16 |
max_length => 13, |
|
17 |
type => 'Value', |
|
18 |
valid_check => sub { return (shift =~ m/^\d{1,10}(\,\d{1,2})?$/) }, |
|
19 |
}, |
|
20 |
{ |
|
21 |
kivi_datev_name => 'soll_haben_kennzeichen', |
|
22 |
csv_header_name => t8('Debit/Credit Label'), |
|
23 |
max_length => 1, |
|
24 |
type => 'Text', |
|
25 |
valid_check => sub { return (shift =~ m/^(S|H)$/) }, |
|
26 |
}, |
|
27 |
{ |
|
28 |
kivi_datev_name => 'waehrung', |
|
29 |
csv_header_name => t8('Transaction Value Currency Code'), |
|
30 |
max_length => 3, |
|
31 |
type => 'Text', |
|
32 |
valid_check => sub { return (shift =~ m/^[A-Z]{3}$/) }, |
|
33 |
}, |
|
34 |
{ |
|
35 |
kivi_datev_name => 'wechselkurs', |
|
36 |
csv_header_name => t8('Exchange Rate'), |
|
37 |
max_length => 11, |
|
38 |
type => 'Number', |
|
39 |
valid_check => sub { return (shift =~ m/^[0-9]*\.?[0-9]*$/) }, |
|
40 |
}, |
|
41 |
{ |
|
42 |
kivi_datev_name => 'not yet implemented', |
|
43 |
csv_header_name => t8('Base Transaction Value'), |
|
44 |
}, |
|
45 |
{ |
|
46 |
kivi_datev_name => 'not yet implemented', |
|
47 |
csv_header_name => t8('Base Transaction Value Currency Code'), |
|
48 |
}, |
|
49 |
{ |
|
50 |
kivi_datev_name => 'konto', |
|
51 |
csv_header_name => t8('Account'), |
|
52 |
max_length => 9, # May contain a maximum of 8 or 9 digits -> perldoc |
|
53 |
type => 'Account', |
|
54 |
valid_check => sub { return (shift =~ m/^[0-9]{4,9}$/) }, |
|
55 |
}, |
|
56 |
{ |
|
57 |
kivi_datev_name => 'gegenkonto', |
|
58 |
csv_header_name => t8('Contra Account'), |
|
59 |
max_length => 9, # May contain a maximum of 8 or 9 digits -> perldoc |
|
60 |
type => 'Account', |
|
61 |
valid_check => sub { return (shift =~ m/^[0-9]{4,9}$/) }, |
|
62 |
}, |
|
63 |
{ |
|
64 |
kivi_datev_name => 'buchungsschluessel', |
|
65 |
csv_header_name => t8('Posting Key'), |
|
66 |
max_length => 2, |
|
67 |
type => 'Text', |
|
68 |
valid_check => sub { return (shift =~ m/^[0-9]{0,2}$/) }, |
|
69 |
}, |
|
70 |
{ |
|
71 |
kivi_datev_name => 'datum', |
|
72 |
csv_header_name => t8('Invoice Date'), |
|
73 |
max_length => 4, |
|
74 |
type => 'Date', |
|
75 |
valid_check => sub { return (shift =~ m/^[0-9]{4}$/) }, |
|
76 |
}, |
|
77 |
{ |
|
78 |
kivi_datev_name => 'belegfeld1', |
|
79 |
csv_header_name => t8('Invoice Field 1'), |
|
80 |
max_length => 12, |
|
81 |
type => 'Text', |
|
82 |
valid_check => sub { my $text = shift; check_encoding($text); }, |
|
83 |
}, |
|
84 |
{ |
|
85 |
kivi_datev_name => 'not yet implemented', |
|
86 |
csv_header_name => t8('Invoice Field 2'), |
|
87 |
max_length => 12, |
|
88 |
type => 'Text', |
|
89 |
valid_check => sub { return (shift =~ m/[ -~]{1,12}/) }, |
|
90 |
}, |
|
91 |
{ |
|
92 |
kivi_datev_name => 'not yet implemented', |
|
93 |
csv_header_name => t8('Discount'), |
|
94 |
type => 'Value', |
|
95 |
}, |
|
96 |
{ |
|
97 |
kivi_datev_name => 'buchungsbes', |
|
98 |
csv_header_name => t8('Posting Text'), |
|
99 |
max_length => 60, |
|
100 |
type => 'Text', |
|
101 |
valid_check => sub { my $text = shift; return 1 unless $text; check_encoding($text); }, |
|
102 |
}, # pos 14 |
|
103 |
{ |
|
104 |
kivi_datev_name => 'not yet implemented', |
|
105 |
}, |
|
106 |
{ |
|
107 |
kivi_datev_name => 'not yet implemented', |
|
108 |
}, |
|
109 |
{ |
|
110 |
kivi_datev_name => 'not yet implemented', |
|
111 |
}, |
|
112 |
{ |
|
113 |
kivi_datev_name => 'not yet implemented', |
|
114 |
}, |
|
115 |
{ |
|
116 |
kivi_datev_name => 'not yet implemented', |
|
117 |
}, |
|
118 |
{ |
|
119 |
kivi_datev_name => 'not yet implemented', |
|
120 |
csv_header_name => t8('Link to invoice'), |
|
121 |
max_length => 210, # DMS Application shortcut and GUID |
|
122 |
# Example: "BEDI" |
|
123 |
# "8DB85C02-4CC3-FF3E-06D7-7F87EEECCF3A". |
|
124 |
}, # pos 20 |
|
125 |
{ |
|
126 |
kivi_datev_name => 'not yet implemented', |
|
127 |
}, |
|
128 |
{ |
|
129 |
kivi_datev_name => 'not yet implemented', |
|
130 |
}, |
|
131 |
{ |
|
132 |
kivi_datev_name => 'not yet implemented', |
|
133 |
}, |
|
134 |
{ |
|
135 |
kivi_datev_name => 'not yet implemented', |
|
136 |
}, |
|
137 |
{ |
|
138 |
kivi_datev_name => 'not yet implemented', |
|
139 |
}, |
|
140 |
{ |
|
141 |
kivi_datev_name => 'not yet implemented', |
|
142 |
}, |
|
143 |
{ |
|
144 |
kivi_datev_name => 'not yet implemented', |
|
145 |
}, |
|
146 |
{ |
|
147 |
kivi_datev_name => 'not yet implemented', |
|
148 |
}, |
|
149 |
{ |
|
150 |
kivi_datev_name => 'not yet implemented', |
|
151 |
}, |
|
152 |
{ |
|
153 |
kivi_datev_name => 'not yet implemented', |
|
154 |
}, |
|
155 |
{ |
|
156 |
kivi_datev_name => 'not yet implemented', |
|
157 |
}, |
|
158 |
{ |
|
159 |
kivi_datev_name => 'not yet implemented', |
|
160 |
}, |
|
161 |
{ |
|
162 |
kivi_datev_name => 'not yet implemented', |
|
163 |
}, |
|
164 |
{ |
|
165 |
kivi_datev_name => 'not yet implemented', |
|
166 |
}, |
|
167 |
{ |
|
168 |
kivi_datev_name => 'not yet implemented', |
|
169 |
}, |
|
170 |
{ |
|
171 |
kivi_datev_name => 'not yet implemented', |
|
172 |
}, |
|
173 |
{ |
|
174 |
kivi_datev_name => 'kost1', |
|
175 |
csv_header_name => t8('Cost Center'), |
|
176 |
max_length => 8, |
|
177 |
type => 'Text', |
|
178 |
valid_check => sub { my $text = shift; return 1 unless $text; check_encoding($text); }, |
|
179 |
}, # pos 37 |
|
180 |
{ |
|
181 |
kivi_datev_name => 'kost2', |
|
182 |
csv_header_name => t8('Cost Center'), |
|
183 |
max_length => 8, |
|
184 |
type => 'Text', |
|
185 |
valid_check => sub { my $text = shift; return 1 unless $text; check_encoding($text); }, |
|
186 |
}, # pos 38 |
|
187 |
{ |
|
188 |
kivi_datev_name => 'not yet implemented', |
|
189 |
csv_header_name => t8('KOST Quantity'), |
|
190 |
max_length => 9, |
|
191 |
type => 'Number', |
|
192 |
valid_check => sub { return (shift =~ m/^[0-9]{0,9}$/) }, |
|
193 |
}, # pos 39 |
|
194 |
{ |
|
195 |
kivi_datev_name => 'ustid', |
|
196 |
csv_header_name => t8('EU Member State and VAT ID Number'), |
|
197 |
max_length => 15, |
|
198 |
type => 'Text', |
|
199 |
valid_check => sub { |
|
200 |
my $ustid = shift; |
|
201 |
return 1 unless defined($ustid); |
|
202 |
return ($ustid =~ m/^CH|^[A-Z]{2}\w{5,13}$/); |
|
203 |
}, |
|
204 |
}, # pos 40 |
|
205 |
); |
|
206 |
|
|
207 |
sub check_encoding { |
|
208 |
use Encode qw( decode ); |
|
209 |
# counter test: arabic doesnt work: ݐ |
|
210 |
my $test = shift; |
|
211 |
return undef unless $test; |
|
212 |
if (eval { |
|
213 |
decode('Windows-1252', $test, Encode::FB_CROAK|Encode::LEAVE_SRC); |
|
214 |
1 |
|
215 |
}) { |
|
216 |
return 1; |
|
217 |
} |
|
218 |
} |
|
219 |
|
|
220 |
sub kivitendo_to_datev { |
|
221 |
my $self = shift; |
|
222 |
|
|
223 |
my $entries = scalar (@kivitendo_to_datev); |
|
224 |
push @kivitendo_to_datev, { kivi_datev_name => 'not yet implemented' } for 1 .. (116 - $entries); |
|
225 |
return @kivitendo_to_datev; |
|
226 |
} |
|
227 |
|
|
228 |
sub generate_csv_header { |
|
229 |
my ($self, %params) = @_; |
|
230 |
|
|
231 |
# we need from and to in YYYYDDMM |
|
232 |
croak "Wrong format for from" unless $params{from} =~ m/^[0-9]{8}$/; |
|
233 |
croak "Wrong format for to" unless $params{to} =~ m/^[0-9]{8}$/; |
|
234 |
|
|
235 |
# who knows if we want locking and when our fiscal year starts |
|
236 |
croak "Wrong state of locking" unless $params{locked} =~ m/(0|1)/; |
|
237 |
croak "No startdate of fiscal year" unless $params{first_day_of_fiscal_year} =~ m/^[0-9]{8}$/; |
|
238 |
|
|
239 |
|
|
240 |
# we can safely set these defaults |
|
241 |
my $today = DateTime->now(time_zone => "local"); |
|
242 |
my $created_on = $today->ymd('') . $today->hms('') . '000'; |
|
243 |
my $length_of_accounts = length(SL::DB::Manager::Chart->get_first(where => [charttype => 'A'])->accno) // 4; |
|
244 |
my $default_curr = SL::DB::Default->get_default_currency; |
|
245 |
|
|
246 |
# datev metadata and the string lenght limits |
|
247 |
my %meta_datev; |
|
248 |
my %meta_datev_to_valid_length = ( |
|
249 |
beraternr => 7, |
|
250 |
beratername => 25, |
|
251 |
mandantennr => 5, |
|
252 |
); |
|
253 |
|
|
254 |
my $datev = SL::DB::Manager::Datev->get_first(); |
|
255 |
|
|
256 |
while (my ($k, $v) = each %meta_datev_to_valid_length) { |
|
257 |
$meta_datev{$k} = substr $datev->{$k}, 0, $v; |
|
258 |
} |
|
259 |
|
|
260 |
my @header = ( |
|
261 |
"EXTF", "300", 21, "Buchungsstapel", 7, $created_on, "", "ki", |
|
262 |
"kivitendo-datev", "", $meta_datev{beraternr}, $meta_datev{mandantennr}, |
|
263 |
$params{first_day_of_fiscal_year}, $length_of_accounts, |
|
264 |
$params{from}, $params{to}, "", "", 1, "", $params{locked}, |
|
265 |
$default_curr, "", "", "","" |
|
266 |
); |
|
267 |
|
|
268 |
return @header; |
|
269 |
} |
|
270 |
1; |
|
271 |
|
|
272 |
__END__ |
|
273 |
|
|
274 |
=encoding utf-8 |
|
275 |
|
|
276 |
=head1 NAME |
|
277 |
|
|
278 |
SL::DATEV::CSV - kivitendo DATEV CSV Specification |
|
279 |
|
|
280 |
=head1 SYNOPSIS |
|
281 |
|
|
282 |
The parsing of the DATEV CSV is index based, therefore the correct |
|
283 |
column must be present at the corresponding index, i.e.: |
|
284 |
Index 2 |
|
285 |
Field Name : Debit/Credit Label |
|
286 |
Valid Values : 'S' or 'H' |
|
287 |
Length: : 1 |
|
288 |
|
|
289 |
The columns in C<@kivi_datev> are in the correct order and the |
|
290 |
specific attributes are defined as a key value hash list for each entry. |
|
291 |
|
|
292 |
The key names are the english translation according to the DATEV specs |
|
293 |
(Leitfaden DATEV englisch). |
|
294 |
|
|
295 |
The two attributes C<max_length> and C<type> are also set as specified |
|
296 |
by the DATEV specs. |
|
297 |
|
|
298 |
To link the structure to kivitendo data, each entry has the attribute C<kivi_datev_name> |
|
299 |
which is by convention the key name as generated by DATEV->generate_datev_data. |
|
300 |
A value of C<'not yet implemented'> indicates that this field has no |
|
301 |
corresponding kivitendo data and will be given an empty value by DATEV->csv_buchungsexport. |
|
302 |
|
|
303 |
|
|
304 |
=head1 SPECIFICATION |
|
305 |
|
|
306 |
This is an excerpt of the DATEV Format 2015 Specification for CSV-Header |
|
307 |
and CSV-Data lines. |
|
308 |
|
|
309 |
=head2 FILENAME |
|
310 |
|
|
311 |
The filename is subject to the following restrictions: |
|
312 |
1. The filename must begin with the prefix DTVF_ or EXTF_. |
|
313 |
2. The filename must end with .csv. |
|
314 |
|
|
315 |
When exporting from or importing into DATEV applications, the filename is |
|
316 |
marked with the prefix "DTVF_" (DATEV Format). |
|
317 |
The prefix "DTVF_" is reserved for DATEV applications. |
|
318 |
If you are using a third-party application to create a file in the DATEV format |
|
319 |
that you want to import using batch processing, use the prefix "EXTF_" |
|
320 |
(External Format). |
|
321 |
|
|
322 |
=head2 File Structure |
|
323 |
|
|
324 |
The file structure of the text file exported/imported is defined as follows |
|
325 |
|
|
326 |
Line 1: Header (serves to assist in the interpretation of the following data) |
|
327 |
|
|
328 |
Line 2: Headline (headline of the user data) |
|
329 |
|
|
330 |
Line 3 – n: Records (user data) |
|
331 |
|
|
332 |
For an valid example file take a look at doc/DATEV-2015/EXTF_Buchungsstapel.csv |
|
333 |
|
|
334 |
|
|
335 |
=head2 Detailed Description |
|
336 |
|
|
337 |
Line 1 must contain 11 fields. |
|
338 |
|
|
339 |
Line 2 must contain 26 fields. |
|
340 |
|
|
341 |
Line 3 - n: must contain 116 fields, a smaller subset is mandatory. |
|
342 |
|
|
343 |
=head1 FUNCTIONS |
|
344 |
|
|
345 |
=over 4 |
|
346 |
|
|
347 |
=item check_encoding |
|
348 |
|
|
349 |
Helper function, returns true if a string is not empty and cp1252 encoded |
|
350 |
|
|
351 |
=item generate_csv_header(from => 'YYYYDDMM', to => 'YYYYDDMM', locked => 0, |
|
352 |
first_day_of_fiscal_year => 'YYYYDDMM') |
|
353 |
|
|
354 |
Mostly all other header information are constants or metadata loaded |
|
355 |
from SL::DB::Datev.pm. |
|
356 |
|
|
357 |
Returns the first two entries for the header (see above: File Structure) |
|
358 |
as an array. |
|
359 |
|
|
360 |
All params are mandatory: |
|
361 |
C<params{from}>, C<params{to}> |
|
362 |
and C<params{first_day_of_fiscal_year}> have to be in YYYYDDMM date string |
|
363 |
format. |
|
364 |
Furthermore C<params{locked}> needs to be a boolean in number format (0|1). |
|
365 |
|
|
366 |
|
|
367 |
=item kivitendo_to_datev |
|
368 |
|
|
369 |
Returns the data structure C<@datev_data> as an array |
|
370 |
|
|
371 |
=back |
doc/DATEV-2015/EXTF_Anlag-Buchungen.csv | ||
---|---|---|
1 |
"EXTF";510;63;"Anlagenbuchf?hrung - Buchungssatzvorlagen";1;20150729103107277;;"RE";"Admin";"";29098;55003;20150101;4;;;"";"";;;;"";;"";;;"";;;"";"" |
|
2 |
Bereich;Kontonummer;Buchungssatztyp;KontonummerSoll;KontonummerHaben;Buchungstext |
|
3 |
30;400;"N";4830;400;"Normalabschreibung" |
doc/DATEV-2015/EXTF_Anlag-Filialen.csv | ||
---|---|---|
1 |
"EXTF";510;62;"Anlagenbuchf?hrung - Filialen";1;20150729103107277;;"RE";"Admin";"";29098;55003;20150101;4;;;"";"";;;;"";;"";;;"";;;"";"" |
|
2 |
Filialnummer;Filialbezeichnung |
|
3 |
1;"Hauptbetrieb" |
doc/DATEV-2015/EXTF_Buchungsstapel.csv | ||
---|---|---|
1 |
"EXTF";510;21;"Buchungsstapel";7;20150729093158705;;"SV";"Admin";"";55003;63021;20160101;4;20160101;20160331;"Kasse";"";1;0;0;"EUR";;"KP";;"";;;"";""; |
|
2 |
Umsatz (ohne Soll/Haben-Kz);Soll/Haben-Kennzeichen;WKZ Umsatz;Kurs;Basis-Umsatz;WKZ Basis-Umsatz;Konto;Gegenkonto (ohne BU-Schl?ssel);BU-Schl?ssel;Belegdatum;Belegfeld 1;Belegfeld 2;Skonto;Buchungstext;Postensperre;Diverse Adressnummer;Gesch?ftspartnerbank;Sachverhalt;Zinssperre;Beleglink;Beleginfo - Art 1;Beleginfo - Inhalt 1;Beleginfo - Art 2;Beleginfo - Inhalt 2;Beleginfo - Art 3;Beleginfo - Inhalt 3;Beleginfo - Art 4;Beleginfo - Inhalt 4;Beleginfo - Art 5;Beleginfo - Inhalt 5;Beleginfo - Art 6;Beleginfo - Inhalt 6;Beleginfo - Art 7;Beleginfo - Inhalt 7;Beleginfo - Art 8;Beleginfo - Inhalt 8;KOST1 - Kostenstelle;KOST2 - Kostenstelle;Kost-Menge;EU-Land u. UStID;EU-Steuersatz;Abw. Versteuerungsart;Sachverhalt L+L;Funktionserg?nzung L+L;BU 49 Hauptfunktionstyp;BU 49 Hauptfunktionsnummer;BU 49 Funktionserg?nzung;Zusatzinformation - Art 1;Zusatzinformation- Inhalt 1;Zusatzinformation - Art 2;Zusatzinformation- Inhalt 2;Zusatzinformation - Art 3;Zusatzinformation- Inhalt 3;Zusatzinformation - Art 4;Zusatzinformation- Inhalt 4;Zusatzinformation - Art 5;Zusatzinformation- Inhalt 5;Zusatzinformation - Art 6;Zusatzinformation- Inhalt 6;Zusatzinformation - Art 7;Zusatzinformation- Inhalt 7;Zusatzinformation - Art 8;Zusatzinformation- Inhalt 8;Zusatzinformation - Art 9;Zusatzinformation- Inhalt 9;Zusatzinformation - Art 10;Zusatzinformation- Inhalt 10;Zusatzinformation - Art 11;Zusatzinformation- Inhalt 11;Zusatzinformation - Art 12;Zusatzinformation- Inhalt 12;Zusatzinformation - Art 13;Zusatzinformation- Inhalt 13;Zusatzinformation - Art 14;Zusatzinformation- Inhalt 14;Zusatzinformation - Art 15;Zusatzinformation- Inhalt 15;Zusatzinformation - Art 16;Zusatzinformation- Inhalt 16;Zusatzinformation - Art 17;Zusatzinformation- Inhalt 17;Zusatzinformation - Art 18;Zusatzinformation- Inhalt 18;Zusatzinformation - Art 19;Zusatzinformation- Inhalt 19;Zusatzinformation - Art 20;Zusatzinformation- Inhalt 20;St?ck;Gewicht;Zahlweise;Forderungsart;Veranlagungsjahr;Zugeordnete F?lligkeit;Skontotyp;Auftragsnummer;Buchungstyp;Ust-Schl?ssel (Anzahlungen);EU-Land (Anzahlungen);Sachverhalt L+L (Anzahlungen);EU-Steuersatz (Anzahlungen);Erl?skonto (Anzahlungen);Herkunft-Kz;Leerfeld;KOST-Datum;Mandatsreferenz;Skontosperre;Gesellschaftername;Beteiligtennummer;Identifikationsnummer;Zeichnernummer;Postensperre bis;Bezeichnung SoBil-Sachverhalt;Kennzeichen SoBil-Buchung;Festschreibung;Leistungsdatum;Datum Zuord.Steuerperiode |
|
3 |
100,18;"S";"";;;"";48400;8401;"";3101;"";"";;"Test Anzahlung";;"";1;;"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"50";"";;"";;"";;"";;;;"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";;;;"";2012;;1;"Projekt 4711";"AG";3;"";;;8070;"WK";"";;"";;"";;"";"";;"";;1;; |
|
4 |
10,00;"S";"";;;"";48220;8400;"";3103;"";"";;"Normalabschr. immater. VermG";;"";;;;"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"90";"";;"";;"";;;;;;"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";;;;"";;;;"";"";;"";;;;"WK";"";;"";;"";;"";"";;"";;1;10022016; |
|
5 |
64083;"S";"";;;"";4400;85;"";3101;"";"";;"Normalabschreibung Geb?ude";;"";;;;"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"50";"";;"";;"";;;;;;"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";;;;"";;;;"";"";;"";;;;"WK";"";;"";;"";;"";"";;"";;0;; |
|
6 |
3584,56;"S";"";;;"";4831;100;"";3101;"";"";;"Normalabschreibung Geb?ude";;"";;;;"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"50";"";;"";;"";;;;;;"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";;;;"";;;;"";"";;"";;;;"WK";"";;"";;"";;"";"";;"";;0;; |
|
7 |
3745,56;"S";"";;;"";4830;210;"";3101;"";"";;"Normalabschreibung Sachanlagen";;"";;;;"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"50";"";;"";;"";;;;;;"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";;;;"";;;;"";"";;"";;;;"WK";"";;"";;"";;"";"";;"";;1;; |
|
8 |
531,16;"S";"";;;"";4832;320;"";3101;"";"";;"Normalabschreibung Kfz";;"";;;;"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"20";"";;"";;"";;;;;;"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";;;;"";;;;"";"";0;"";;;0;"WK";"";;"";;"";;"";"";;"";;1;; |
|
9 |
4979,65;"H";"";;;"";8400;30200;"";0902;"201202010";"";;"";;"";;;;"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"202";"";;"";;"";;;;;;"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";;;;"";;;;"";"";;"";;;;"WK";"";;"";;"";;"";"";;"";;1;; |
|
10 |
11687,62;"H";"";;;"";8120;40000;"";0902;"201202011";"";;"";;"";;;;"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"299";"";;"";;"";;;;;;"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";;;;"";;;;"";"";;"";;;;"WK";"";;"";;"";;"";"";;"";;1;; |
|
11 |
13968,83;"H";"";;;"";8125;40100;"";1602;"201202023";"";;"";;"";;;;"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"299";"889";5;"DE133546770";;"";;;;;;"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";;;;"";;;;"";"";;"";;;;"WK";"";;"";;"";;"";"";;"";;1;; |
|
12 |
11807,63;"H";"";;;"";8125;40100;"";1702;"201202024";"";;"";;"";;;;"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"299";"";;"DE133546770";;"";;;;;;"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";;;;"";;;;"";"";;"";;;;"WK";"";;"";;"";;"";"";;"";;1;; |
|
13 |
4120,51;"H";"";;;"";8405;30100;"";1702;"201202025";"";;"";;"";;;;"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"201";"";;"";;"";;;;;;"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";;;;"";;;;"";"";;"";;;;"WK";"";;"";;"";;"";"";;"";;1;; |
|
14 |
16585,28;"H";"";;;"";8405;10200;"";1702;"201202026";"";;"";;"";;;;"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"202";"";;"";;"";;;;;;"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";;;;"";;;;"";"";;"";;;;"WK";"";;"";;"";;"";"";;"";;1;; |
|
15 |
15301,67;"H";"";;;"";8400;10300;"";2002;"201202027";"";;"";;"";;;;"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"201";"";;"";;"";;;;;;"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";;;;"";;;;"";"";;"";;;;"WK";"";;"";;"";;"";"";;"";;1;; |
|
16 |
7404,94;"H";"";;;"";8400;60391;"";2102;"201202028";"";;"";;"";;;;"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"199";"";;"";;"";;;;;;"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";;;;"";;;;"";"";;"";;;;"WK";"";;"";;"";;"";"";;"";;1;; |
|
17 |
66976,12;"H";"";;;"";8407;10400;"";2202;"201202029";"";;"";;"";;;;"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"201";"";;"";;"";;;;;;"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";;;;"";;;;"";"";;"";;;;"WK";"";;"";;"";;"";"";;"";;1;; |
|
18 |
118,55;"H";"";;;"";1000;1369;"";0202;"4";"";;"Test-Shop";;"";;;;"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";;"";;"";;;;;;"Beleg fehlt";"Post";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";;;;"";;;;"";"";;"";;;;"WK";"";;"";;"";;"";"";;"";;1;; |
|
19 |
26,87;"H";"";;;"";1000;4930;"9";0102;"";"";;"Schreibwaren";;"";;;;"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"90";"";;"";;"";;;;;;"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";;;;"";;;;"";"";;"";;;;"WK";"";;"";;"";;"";"";;"";;1;; |
|
20 |
460,00;"S";"";;;"";1000;1360;"";0702;"";"";;"Kasseneinlage";;"";;;;"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";;"";;"";;;;;;"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";;;;"";;;;"";"";;"";;;;"WK";"";;"";;"";;"";"";;"";;1;; |
|
21 |
124,00;"H";"CHF";1,240402;100,00;"EUR";21100;8050;"";2702;"";"";;"Umsatz Schweiz";;"";;;;"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";;"";;"";;;;;;"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";;;;"";;;;"";"";;"";;;;"WK";"";;"";;"";;"";"";;"";;1;; |
|
22 |
70,96;"H";"";;;"";1100;4530;"9";2702;"";"";;"Diesel";;"";;;;"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"20";"";;"";;"";;;;;;"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";;;;"";;;;"";"";;"";;;;"WK";"";;"";;"";;"";"";;"";;1;; |
|
23 |
17107,00;"S";"";;;"";31100;8125;"";2702;"201202007";"";;"Ausland EU";;"";;;;"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"520";"45";30;"ATU36251489";;"";;;;;;"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";;;;"";;;;"";"";0;"";;;0;"WK";"";;"";;"";;"";"";;"";;0;; |
|
24 |
5856,00;"H";"";;;"";1100;980;"";2802;"";"";;"Geb?udeversicherung 03/12-02/13";;"";;;;"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";;"";;"";;;;;;"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";;;;"";;;;"";"";;"";;;;"WK";"";;"";;"";;"";"";;"";;1;; |
|
25 |
70,27;"H";"";;;"";1100;4530;"9";2802;"";"";;"Benzin";;"";;;;"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"20";"";;"";;"";;;;;;"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";;;;"";;;;"";"";;"";;;;"WK";"";;"";;"";;"";"";;"";;1;; |
|
26 |
1763,58;"H";"";;;"";1100;4580;"9";2802;"";"";;"Leasing Van";;"";;;;"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"20";"";;"";;"";;;;;;"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";;;;"";;;;"";"";;"";;;;"WK";"";;"";;"";;"";"";;"";;1;; |
|
27 |
1190,00;"H";"";;;"";8050;10100;"3";1403;"AR1234";"";;"Aufteilung AR ohne Automatikkonto";;"";;;;"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";;"";;"";;;;;;"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";;;;"";;;;"";"";;"";;;;"WK";"";;"";;"";;"";"";;"";;1;; |
|
28 |
700,00;"S";"";;;"";8050;8060;"";1403;"AR1234";"";;"Aufteilung auf Erl?skonto";;"";;;;"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";;"";;"";;;;;;"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";;;;"";;;;"";"";;"";;;;"WK";"";;"";;"";;"";"";;"";;1;; |
|
29 |
300,00;"S";"";;;"";8050;8070;"";1403;"AR1234";"";;"Aufteilung auf Erl?skonto";;"";;;;"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";;"";;"";;;;;;"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";;;;"";;;;"";"";;"";;;;"WK";"";;"";;"";;"";"";;"";;1;; |
|
30 |
1190,00;"H";"";;;"";8400;10100;"";1403;"AR2345";"";;"Aufteilung AR mit Automatikkonto";;"";;;;"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";;"";;"";;;;;;"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";;;;"";;;;"";"";;"";;;;"WK";"";;"";;"";;"";"";;"";;1;; |
|
31 |
600,00;"S";"";;;"";8400;8401;"40";1403;"AR2345";"";;"Auftreilung auf Erl?skonto";;"";;;;"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";;"";;"";;;;;;"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";;;;"";;;;"";"";;"";;;;"WK";"";;"";;"";;"";"";;"";;1;; |
|
32 |
400,00;"S";"";;;"";8400;8405;"40";1403;"AR2345";"";;"Auftreilung auf Erl?skonto";;"";;;;"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";;"";;"";;;;;;"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";;;;"";;;;"";"";;"";;;;"WK";"";;"";;"";;"";"";;"";;1;; |
|
33 |
2500,00;"S";"";;;"";10100;8400;"";0103;"AR-78/13";"160316";;"Holzlieferung";;"";;;;"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";;"";;"";;;;;;"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";;;;"";;;;"";"";;"";;;;"WK";"";;"";;"";;"";"";;"";;1;; |
|
34 |
2500,00;"S";"";;;"";1200;10100;"";0103;"AR-78/13";"";;"Bezahlung";;"";;;;"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";;"";;"";;;;;;"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";;;;"";;;;"";"";;"";;;;"WK";"";;"";;"";;"";"";;"";;1;; |
|
35 |
119,00;"S";"";;;"";10100;8400;"";0103;"AR-456/13";"";;"Rechnung mit Skontogew?hrung";;"";;;;"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";;"";;"";;;;;;"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";;;;"";;;;"";"";;"";;;;"WK";"";;"";;"";;"";"";;"";;1;; |
|
36 |
116,62;"S";"";;;"";1200;10100;"";0103;"AR-456/13";"";2,38;"Zahlung mit 2% Skonto";;"";;;;"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";;"";;"";;;;;;"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";;;;"";;;;"";"";;"";;;;"WK";"";;"";;"";;"";"";;"";;1;; |
|
37 |
35,00;"S";"";;;"";10001;8400;"";0103;"AR-2013";"";;"falscher Debitor";;"";;;;"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";;"";;"";;;;;;"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";;;;"";;;;"";"";;"";;;;"WK";"";;"";;"";;"";"";;"";;1;; |
|
38 |
35,00;"H";"";;;"";10001;8400;"20";0103;"AR-2013";"";;"Berichtigung";;"";;;;"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";;"";;"";;;;;;"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";;;;"";;;;"";"";;"";;;;"WK";"";;"";;"";;"";"";;"";;1;; |
|
39 |
35,00;"S";"";;;"";10100;8400;"";0103;"AR-2013";"";;"richtiger Debitor";;"";;;;"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";;"";;"";;;;;;"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";;;;"";;;;"";"";;"";;;;"WK";"";;"";;"";;"";"";;"";;1;; |
|
40 |
488,00;"H";"";;;"";980;4360;"";0101;"";"";;"Geb?udeversicherung";;"";;;;"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"10";"";;"";;"";;;;;;"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";;;;"";;;;"";"";;"";;;;"WK";"";;"";;"";;"";"";;"";;1;; |
doc/DATEV-2015/EXTF_Buchungstextkonstanten.csv | ||
---|---|---|
1 |
"EXTF";510;67;"Buchungstextkonstanten";1;20150729093349782;;"RE";"Admin";"";29098;55003;20150101;4;;;"";"";;;;"";;"";;;"";;;"";"" |
|
2 |
Nummer;Buchungstext |
|
3 |
10;"Postwertzeichen" |
|
4 |
11;"B?robedarf" |
|
5 |
20;"Benzin" |
|
6 |
21;"Diesel" |
|
7 |
22;"Kundendienst" |
|
8 |
90;"Kasseneinlage" |
|
9 |
91;"f?r Kasse" |
doc/DATEV-2015/EXTF_Div-Adressen.csv | ||
---|---|---|
1 |
"EXTF";510;48;"Diverse Adressen";2;20150729103107277;;"RE";"Admin";"";55003;63021;20150101;4;;;"";"";;;;"";;"";;"";;;"";""; |
|
2 |
Adressnummer;Konto;Anrede;Name (Adressattyp Unternehmen);Unternehmensgegenstand;Kurzbezeichnung;Name (Adressattyp nat?rl. Person);Vorname (Adressattyp nat?rl. Person);Name (Adressattyp keine Angabe);Adressattyp;Titel/Akad. Grad;Adelstitel;Namensvorsatz;Abweichende Anrede;Adressart;Stra?e;Postfach;Postleitzahl;Ort;Land;Versandzusatz;Adresszusatz;Abw. Zustellbezeichnung 1;Abw. Zustellbezeichnung 2;Kennz. Korrespondenzadresse;Adresse G?ltig von;Adresse G?ltig bis;Abweichende Anrede (Rechnungsadresse);Adressart (Rechnungsadresse);Stra?e (Rechnungsadresse);Postfach (Rechnungsadresse);Postleitzahl (Rechnungsadresse);Ort (Rechnungsadresse);Land (Rechnungsadresse);Versandzusatz (Rechnungsadresse);Adresszusatz (Rechnungsadresse);Abw. Zustellbezeichnung 1 (Rechnungsadresse);Abw. Zustellbezeichnung 2 (Rechnungsadresse);Adresse G?ltig von (Rechnungsadresse);Adresse G?ltig bis (Rechnungsadresse);Telefon;Bemerkung (Telefon);Telefon GL;Bemerkung (Telefon GL);E-Mail;Bemerkung (E-Mail);Internet;Bemerkung (Internet);Fax;Bemerkung (Fax);Sonstige;Bemerkung (Sonstige);Bankleitzahl 1;Bankbezeichnung 1;Bank-Kontonummer 1;L?nderkennzeichen 1;IBAN-Nr. 1;Leerfeld;SWIFT-Code 1;Abw. Kontoinhaber 1;Kennz. Hauptbankverb. 1;Bankverb 1 G?ltig von;Bankverb 1 G?ltig bis;Bankleitzahl 2;Bankbezeichnung 2;Bank-Kontonummer 2;L?nderkennzeichen 2;IBAN-Nr. 2;Leerfeld;SWIFT-Code 2;Abw. Kontoinhaber 2;Kennz. Hauptbankverb. 2;Bankverb 2 G?ltig von;Bankverb 2 G?ltig bis;Bankleitzahl 3;Bankbezeichnung 3;Bank-Kontonummer 3;L?nderkennzeichen 3;IBAN-Nr. 3;Leerfeld;SWIFT-Code 3;Abw. Kontoinhaber 3;Kennz. Hauptbankverb. 3;Bankverb 3 G?ltig von;Bankverb 3 G?ltig bis;Bankleitzahl 4;Bankbezeichnung 4;Bank-Kontonummer 4;L?nderkennzeichen 4;IBAN-Nr. 4;Leerfeld;SWIFT-Code 4;Abw. Kontoinhaber 4;Kennz. Hauptbankverb. 4;Bankverb 4 G?ltig von;Bankverb 4 G?ltig bis;Bankleitzahl 5;Bankbezeichnung 5;Bank-Kontonummer 5;L?nderkennzeichen 5;IBAN-Nr. 5;Leerfeld;SWIFT-Code 5;Abw. Kontoinhaber 5;Kennz. Hauptbankverb. 5;Bankverb 5 G?ltig von;Bankverb 5 G?ltig bis;Bankleitzahl 6;Bankbezeichnung 6;Bank-Kontonummer 6;L?nderkennzeichen 6;IBAN-Nr. 6;Leerfeld;SWIFT-Code 6;Abw. Kontoinhaber 6;Kennz. Hauptbankverb. 6;Bankverb 6 G?ltig von;Bankverb 6 G?ltig bis;Bankleitzahl 7;Bankbezeichnung 7;Bank-Kontonummer 7;L?nderkennzeichen 7;IBAN-Nr. 7;Leerfeld;SWIFT-Code 7;Abw. Kontoinhaber 7;Kennz. Hauptbankverb. 7;Bankverb 7 G?ltig von;Bankverb 7 G?ltig bis;Bankleitzahl 8;Bankbezeichnung 8;Bank-Kontonummer 8;L?nderkennzeichen 8;IBAN-Nr. 8;Leerfeld;SWIFT-Code 8;Abw. Kontoinhaber 8;Kennz. Hauptbankverb. 8;Bankverb 8 G?ltig von;Bankverb 8 G?ltig bis;Bankleitzahl 9;Bankbezeichnung 9;Bank-Kontonummer 9;L?nderkennzeichen 9;IBAN-Nr. 9;Leerfeld;SWIFT-Code 9;Abw. Kontoinhaber 9;Kennz. Hauptbankverb. 9;Bankverb 9 G?ltig von;Bankverb 9 G?ltig bis;Bankleitzahl 10;Bankbezeichnung 10;Bank-Kontonummer 10;L?nderkennzeichen 10;IBAN-Nr. 10;Leerfeld;SWIFT-Code 10;Abw. Kontoinhaber 10;Kennz. Hauptbankverb. 10;Bankverb 10 G?ltig von;Bankverb 10 G?ltig bis;Kundennummer;Ansprechpartner;Vertreter;Sachbearbeiter;Briefanrede;Gru?formel;Sprache;Ausgabeziel;Indiv. Feld 1;Indiv. Feld 2;Indiv. Feld 3;Indiv. Feld 4;Indiv. Feld 5;Indiv. Feld 6;Indiv. Feld 7;Indiv. Feld 8;Indiv. Feld 9;Indiv. Feld 10;Mandatsreferenz 1;Mandatsreferenz 2;Mandatsreferenz 3;Mandatsreferenz 4;Mandatsreferenz 5;Mandatsreferenz 6;Mandatsreferenz 7;Mandatsreferenz 8;Mandatsreferenz 9;Mandatsreferenz 10;Nummer Fremdsystem |
|
3 |
"DIV500";30000;"Firma";"Testm?bel GmbH";"";"Testm?bel GmbH";"";"";"";"2";"";"";"";"";"STR";"Feldweg 28";"";"90409";"N?rnberg";"DE";"";"";"";"";1;;;"";"";"";"";"";"";"";"";"";"";"";;;"+49 911 12345678";"";"+49 911 12345678";"";"test@testm?bel.de";"";"www.testm?bel.de";"";"+49 911 987654321";"";"";"";"76069512";"Raiffbk Knoblauchsland";"1122334455";"DE";"";"0";"GENODEF1N08";"Herr Muster";"1";01012013;31122013;"";"";"";"";"";"";"";"";"";;;"";"";"";"";"";"";"";"";"";;;"";"";"";"";"";"";"";"";"";;;"";"";"";"";"";"";"";"";"";;;"";"";"";"";"";"";"";"";"";;;"";"";"";"";"";"";"";"";"";;;"";"";"";"";"";"";"";"";"";;;"";"";"";"";"";"";"";"";"";;;"";"";"";"";"";"";"";"";"";;;"KDN 75";"Herr M?llermuster";"Frau Mustermann";"Herr Testmann";"";"Mit freundlichen Gr??en";1;3;"kein Muster";"Beispiel";"Testeingabe";"";"";"";"";"";"";"Muster vorhanden";"";"";"";"";"";"";"";"";"";"";"" |
|
4 |
"DIV600";30000;"Herrn";"";"";"Mustermann";"Mustermann";"";"";"1";"Dr.";"Baron";"zu";"";"STR";"Musterweg 5";"";"90000";"N?rnberg";"DE";"Nicht nachsenden";"";"";"";1;;;"";"";"";"";"";"";"";"";"";"";"";;;"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";;;"";"";"";"";"";"";"";"";"";;;"";"";"";"";"";"";"";"";"";;;"";"";"";"";"";"";"";"";"";;;"";"";"";"";"";"";"";"";"";;;"";"";"";"";"";"";"";"";"";;;"";"";"";"";"";"";"";"";"";;;"";"";"";"";"";"";"";"";"";;;"";"";"";"";"";"";"";"";"";;;"";"";"";"";"";"";"";"";"";;;"";"";"";"";"";"";;;"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"" |
|
5 |
"DIV700";30000;"Frau";"";"";"Testmann, Elke";"Testmann";"Elke";"";"1";"";"Landgr?fin";"vom und zu";"";"STR";"Wiesenweg 125";"";"90600";"F?rth";"DE";"Bei Umzug bitte mit neuer Anschrift zur?ck";"";"";"";1;;;"";"";"";"";"";"";"";"";"";"";"";;;"+49 911 505050";"immer erreichbar";"+49 911 505050";"immer erreichbar";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";;;"";"";"";"";"";"";"";"";"";;;"";"";"";"";"";"";"";"";"";;;"";"";"";"";"";"";"";"";"";;;"76000000";"BBk N?rnberg";"998877";"DE";"DE83760000000000998877";"1";"MARKDEF1760";"Frau Beispiel";"1";01012013;12122013;"";"";"";"";"";"";"";"";"";;;"";"";"";"";"";"";"";"";"";;;"";"";"";"";"";"";"";"";"";;;"";"";"";"";"";"";"";"";"";;;"";"";"";"";"";"";"";"";"";;;"";"";"";"";"";"Mit den besten Empfehlungen";4;1;"nur zum Test";"nur als Beispiel";"";"nur als Beispiel";"";"nur als Beispiel";"nur zum Test";"nur zum Test";"";"nur als Beispiel";"";"";"";"";"";"";"";"";"";"";"" |
doc/DATEV-2015/EXTF_Sachkontobeschriftungen.csv | ||
---|---|---|
1 |
"EXTF";510;20;"Kontenbeschriftungen";2;;;"RE";"Admin";"";55003;63021;20150101;4;;;"";"";;;;"";;"";;"";;;"";""; |
|
2 |
Konto;Kontobeschriftung;SprachId |
|
3 |
27;"EDV-Software";"de-DE" |
|
4 |
35;"Gesch?fts- oder Firmenwert";"de-DE" |
|
5 |
40;"Verschmorungsmehrwertt";"de-DE" |
|
6 |
44;"EDV-Software";"de-DE" |
|
7 |
65;"Grundst?ck Schleifmusterm?hle 25";"de-DE" |
|
8 |
85;"Grundst?ckswert bebauter Grundst?cke";"de-DE" |
|
9 |
100;"Fabrikbauten";"de-DE" |
|
10 |
210;"Maschinen";"de-DE" |
|
11 |
320;"PKW";"de-DE" |
|
12 |
350;"LKW";"de-DE" |
|
13 |
400;"Betriebsausstattung";"de-DE" |
|
14 |
420;"B?roeinrichtung";"de-DE" |
|
15 |
440;"Werkzeuge";"de-DE" |
|
16 |
480;"Geringwertige Wirtschaftsg?ter";"de-DE" |
|
17 |
485;"Wirtschaftsg?ter Sammelposten";"de-DE" |
|
18 |
525;"Wertpapiere des Anlageverm?gens";"de-DE" |
|
19 |
690;"Darlehen 1 Deutsche Bank";"de-DE" |
|
20 |
691;"Darlehen 2 Deutsche Bank";"de-DE" |
|
21 |
692;"Darlehen Postbank";"de-DE" |
|
22 |
693;"Darlehen Deutsche Bank";"de-DE" |
|
23 |
694;"Darlehen Deutsche Bank";"de-DE" |
|
24 |
695;"Ratenkredit Pritschenwagen";"de-DE" |
|
25 |
696;"Darlehen Schleifmusterm?hle 25";"de-DE" |
|
26 |
860;"Gewinnvortrag vor Verwendung";"de-DE" |
|
27 |
980;"Aktive Rechnungsabgrenzung";"de-DE" |
|
28 |
986;"Damnum/Disagio";"de-DE" |
|
29 |
992;"Abgrenzung unterj?hrige AfA f?r BWA";"de-DE" |
|
30 |
1000;"Kasse";"de-DE" |
|
31 |
1010;"Kasse Werkstatt";"de-DE" |
|
32 |
1100;"Postbank N?rnberg";"de-DE" |
|
33 |
1111;"Fremdw?hrung1";"de-DE" |
|
34 |
1200;"Deutsche Bank";"de-DE" |
|
35 |
1201;"HypoVereinsbank N?rnberg";"de-DE" |
|
36 |
1202;"Deutsche Bank";"de-DE" |
|
37 |
1203;"USD-Bank";"de-DE" |
|
38 |
1210;"Dresdner Bank";"de-DE" |
|
39 |
1220;"SchmidtBank";"de-DE" |
|
40 |
1230;"Sparkasse";"de-DE" |
|
41 |
1250;"Deutsche Bank";"de-DE" |
|
42 |
1260;"Stadtspk. N?rnberg";"de-DE" |
|
43 |
1270;"Commerzbank Nbg.";"de-DE" |
|
44 |
1290;"Finanzmittelanlagen kurzfr. Disposition";"de-DE" |
|
45 |
1361;"Geldtransit";"de-DE" |
|
46 |
1369;"Unklare Posten";"de-DE" |
|
47 |
1400;"Forderungen aus Lieferungen u.Leistung";"de-DE" |
|
48 |
1447;"Forderg. aus stfr., n. steuerbaren L+L";"de-DE" |
|
49 |
1500;"Sonstige Verm?gensgegenst?nde";"de-DE" |
|
50 |
1540;"Steuer?berzahlungen";"de-DE" |
|
51 |
1549;"K?rperschaftsteuerr?ckforderung";"de-DE" |
|
52 |
1571;"Abziehbare Vorsteuer 7%";"de-DE" |
|
53 |
1574;"Abziehbare Vorsteuer aus EU-Erwerb 19%";"de-DE" |
|
54 |
1576;"Abziehbare Vorsteuer 19%";"de-DE" |
|
55 |
1577;"Abziehbare Vorsteuer ? 13b UStG 19%";"de-DE" |
|
56 |
1593;"Verrechnung erhaltene Anzahlungen";"de-DE" |
|
57 |
1600;"Verbindl. aus Lieferungen u. Leistungen";"de-DE" |
|
58 |
1700;"Sonstige Verbindlichkeiten";"de-DE" |
|
59 |
1710;"Erhaltene Anzahlungen";"de-DE" |
|
60 |
1718;"Erhaltene Anzahlungen 19% USt";"de-DE" |
|
61 |
1736;"Verbindl. Steuern und Abgaben";"de-DE" |
|
62 |
1741;"Verbindlichk. Lohn- und Kirchensteuer";"de-DE" |
|
63 |
1774;"Umsatzsteuer aus EU-Erwerb 19%";"de-DE" |
|
64 |
1776;"Umsatzsteuer 19%";"de-DE" |
|
65 |
1780;"Umsatzsteuervorauszahlungen";"de-DE" |
|
66 |
1781;"Umsatzsteuervorauszahlungen 1/11";"de-DE" |
|
67 |
1787;"Umsatzsteuer nach ? 13b UStG 19%";"de-DE" |
|
68 |
2110;"Zinsaufwendungen f.kfr.Verbindlichkeit.";"de-DE" |
|
69 |
2120;"Zinsaufwendungen f.lfr.Verbindlichkeit.";"de-DE" |
|
70 |
2126;"Zinsen zur Finanzierung Anlageverm?gen";"de-DE" |
|
71 |
2200;"K?rperschaftsteuer";"de-DE" |
|
72 |
2208;"Solidarit?tszuschlag";"de-DE" |
|
73 |
2315;"Abg?nge Sachanlagen Restbuchwert";"de-DE" |
|
74 |
2375;"Grundsteuer";"de-DE" |
|
75 |
2381;"Spenden kulturelle Zwecke";"de-DE" |
|
76 |
2382;"Spenden mildt?tige Zwecke";"de-DE" |
|
77 |
2650;"Sonstige Zinsen und ?hnliche Ertr?ge";"de-DE" |
|
78 |
2670;"Diskontertr?ge";"de-DE" |
|
79 |
2701;"Sonstige Ertr?ge Mahngeb?hren";"de-DE" |
|
80 |
2702;"Sonstige Ertr?ge Zinsen";"de-DE" |
|
81 |
2860;"Gewinnvortrag nach Verwendung";"de-DE" |
|
82 |
3100;"Fremdleistungen";"de-DE" |
|
83 |
3123;"Sonst. Leistung EU 19% Vorst., 19% USt";"de-DE" |
|
84 |
3300;"Wareneingang 7% Vorsteuer";"de-DE" |
|
85 |
3400;"Wareneingang Furnier";"de-DE" |
|
86 |
3401;"Wareneingang Spanplatten";"de-DE" |
|
87 |
3402;"Wareneingang Farben und Lacke";"de-DE" |
|
88 |
3405;"Wareneingang beschichtete Platten";"de-DE" |
|
89 |
3406;"Wareneingang Modellbau";"de-DE" |
|
90 |
3407;"Wareneingang Messebau";"de-DE" |
|
91 |
3409;"Sonstiger Wareneingang";"de-DE" |
|
92 |
3425;"EU-Erwerb 19% Vorsteuer und 19% USt";"de-DE" |
|
93 |
3736;"Erhaltene Skonti 19% Vorsteuer";"de-DE" |
|
94 |
3748;"Erhalt. Skonti EU-Erwerb 19% Vorst/USt";"de-DE" |
|
95 |
3961;"Bestandsver?nd. Furniere";"de-DE" |
|
96 |
3962;"Bestandsver?nd. Spanplatten";"de-DE" |
|
97 |
3963;"Bestandsver?nd. Farben und Lacke";"de-DE" |
|
98 |
3964;"Bestandsver?nd. beschichtete Platten";"de-DE" |
|
99 |
3965;"Bestandsver?nd. Sonstige RHB-Stoffe";"de-DE" |
|
100 |
3971;"Bestand Furniere";"de-DE" |
|
101 |
3972;"Bestand Spanplatten";"de-DE" |
|
102 |
3973;"Bestand Farben und Lacke";"de-DE" |
|
103 |
3974;"Bestand beschichtete Platten";"de-DE" |
|
104 |
3975;"Sonstiger Bestand";"de-DE" |
|
105 |
4110;"L?hne";"de-DE" |
|
106 |
4120;"Geh?lter";"de-DE" |
|
107 |
4127;"Gesch?ftsf?hrergeh?lter";"de-DE" |
|
108 |
4130;"Gesetzliche Sozialaufwendungen";"de-DE" |
|
109 |
4138;"Beitr?ge zur Berufsgenossenschaft";"de-DE" |
|
110 |
4145;"Freiwillige soziale Aufwendung. LSt-pfl.";"de-DE" |
|
111 |
4149;"Pauschale Steuer f?r Zusch?sse";"de-DE" |
|
112 |
4175;"Fahrtkostenerstatt. Whg./Arbeitsst?tte";"de-DE" |
|
113 |
4190;"Aushilfsl?hne";"de-DE" |
|
114 |
4199;"Pauschale Steuer f?r Aushilfen";"de-DE" |
|
115 |
4200;"Raumkosten";"de-DE" |
|
116 |
4210;"Miete, unbewegliche Wirtschaftsg?ter";"de-DE" |
|
117 |
4240;"Gas, Strom, Wasser";"de-DE" |
|
118 |
4250;"Reinigung";"de-DE" |
|
119 |
4260;"Instandhaltung betrieblicher R?ume";"de-DE" |
|
120 |
4270;"Abgaben betrieblich genutzt. Grundbesitz";"de-DE" |
|
121 |
4280;"Sonstige Raumkosten";"de-DE" |
|
122 |
4320;"Gewerbesteuer";"de-DE" |
|
123 |
4360;"Versicherungen";"de-DE" |
|
124 |
4366;"Versicherung f?r Geb?ude";"de-DE" |
|
125 |
4510;"Kfz-Steuern";"de-DE" |
|
126 |
4520;"Kfz-Versicherungen";"de-DE" |
|
127 |
4530;"Laufende Kfz-Betriebskosten";"de-DE" |
|
128 |
4540;"Kfz-Reparaturen";"de-DE" |
|
129 |
4580;"Sonstige Kfz-Kosten";"de-DE" |
|
130 |
4600;"Werbekosten";"de-DE" |
|
131 |
4630;"Geschenke abzugsf?hig";"de-DE" |
|
132 |
4640;"Repr?sentationskosten";"de-DE" |
|
133 |
4651;"abzugsf?hige Bewirtungskosten";"de-DE" |
|
134 |
4654;"Nicht abzugsf?hige Bewirtungskosten";"de-DE" |
|
135 |
4663;"Reisekosten Arbeitnehmer, Fahrtkosten";"de-DE" |
|
136 |
4664;"Reisekosten AN Verpfleg.mehraufwand";"de-DE" |
|
137 |
4666;"Reisekosten AN ?bernachtungsaufwand";"de-DE" |
|
138 |
4710;"Verpackungsmaterial";"de-DE" |
|
139 |
4730;"Ausgangsfrachten";"de-DE" |
|
140 |
4750;"Transportversicherungen";"de-DE" |
|
141 |
4800;"Reparatur/Instandh. Anlagen u. Maschinen";"de-DE" |
|
142 |
4810;"Mietleasing bewegliche Wirtschaftsg?ter";"de-DE" |
|
143 |
4822;"Abschreibung immaterielle VermG";"de-DE" |
|
144 |
4830;"Abschreibungen auf Sachanlagen";"de-DE" |
|
145 |
4831;"Abschreibungen auf Geb?ude";"de-DE" |
|
146 |
4832;"Abschreibungen auf Kfz";"de-DE" |
|
147 |
4862;"Abschreibungen auf WG Sammelposten";"de-DE" |
|
148 |
4901;"Getr?nke f?r Getr?nkeautomat";"de-DE" |
|
149 |
4910;"Porto";"de-DE" |
|
150 |
4920;"Telefon";"de-DE" |
|
151 |
4921;"Mobilfunk";"de-DE" |
|
152 |
4930;"B?robedarf";"de-DE" |
|
153 |
4940;"Zeitschriften, B?cher";"de-DE" |
|
154 |
4945;"Fortbildungskosten";"de-DE" |
|
155 |
4950;"Rechts- und Beratungskosten";"de-DE" |
|
156 |
4955;"Buchf?hrungskosten";"de-DE" |
|
157 |
4969;"Aufwand Abraum-/Abfallbeseitigung";"de-DE" |
|
158 |
4970;"Nebenkosten des Geldverkehrs";"de-DE" |
|
159 |
4980;"Betriebsbedarf";"de-DE" |
|
160 |
4993;"Kalkulatorische Abschreibungen";"de-DE" |
|
161 |
8000;"indiv., Erl?se";"de-DE" |
|
162 |
8120;"Steuerfr. Erl?se Furniere Drittland";"de-DE" |
|
163 |
8125;"Steuerfr. EG-Erl?se Furniere";"de-DE" |
|
164 |
8336;"Nicht steuerbare s. Leistung ? 18b UStG";"de-DE" |
|
165 |
8400;"Erl?se Furniere";"de-DE" |
|
166 |
8401;"Erl?se Kleinm?bel";"de-DE" |
|
167 |
8405;"Erl?se beschichtete Platten";"de-DE" |
|
168 |
8406;"Erl?se Modellbau";"de-DE" |
|
169 |
8407;"Erl?se Messebau";"de-DE" |
|
170 |
8611;"Verrechn. sonstige Sachbez?ge 19% USt";"de-DE" |
|
171 |
8730;"Gew?hrte Skonti";"de-DE" |
|
172 |
8736;"Gew?hrte Skonti 19% USt";"de-DE" |
|
173 |
8741;"Gew?hrte Skonti Leistungen ?13b UStG";"de-DE" |
|
174 |
8743;"Gew?hrte Skonti stfr. EU-Lieferung";"de-DE" |
|
175 |
8820;"Erl?se Sachanlageverk?ufe 19% USt";"de-DE" |
|
176 |
9000;"Saldenvortr?ge Sachkonten";"de-DE" |
|
177 |
9008;"Saldenvortr?ge Debitoren";"de-DE" |
|
178 |
9009;"Saldenvortr?ge Kreditoren";"de-DE" |
doc/DATEV-2015/EXTF_Stammdaten-Deb-Kred.csv | ||
---|---|---|
1 |
"EXTF";510;16;"Debitoren/Kreditoren";4;20150729093352970;;"RE";"Admin";"";55003;63021;20150101;4;;;"";"";;;;"";;"";;"";;;"";""; |
|
2 |
Konto;Name (Adressattyp Unternehmen);Unternehmensgegenstand;Name (Adressattyp nat?rl. Person);Vorname (Adressattyp nat?rl. Person);Name (Adressattyp keine Angabe);Adressattyp;Kurzbezeichnung;EU-Land;EU-UStID;Anrede;Titel/Akad. Grad;Adelstitel;Namensvorsatz;Adressart;Stra?e;Postfach;Postleitzahl;Ort;Land;Versandzusatz;Adresszusatz;Abweichende Anrede;Abw. Zustellbezeichnung 1;Abw. Zustellbezeichnung 2;Kennz. Korrespondenzadresse;Adresse G?ltig von;Adresse G?ltig bis;Telefon;Bemerkung (Telefon);Telefon GL;Bemerkung (Telefon GL);E-Mail;Bemerkung (E-Mail);Internet;Bemerkung (Internet);Fax;Bemerkung (Fax);Sonstige;Bemerkung (Sonstige);Bankleitzahl 1;Bankbezeichnung 1;Bank-Kontonummer 1;L?nderkennzeichen 1;IBAN-Nr. 1;IBAN1 korrekt;SWIFT-Code 1;Abw. Kontoinhaber 1;Kennz. Hauptbankverb. 1;Bankverb 1 G?ltig von;Bankverb 1 G?ltig bis;Bankleitzahl 2;Bankbezeichnung 2;Bank-Kontonummer 2;L?nderkennzeichen 2;IBAN-Nr. 2;IBAN2 korrekt;SWIFT-Code 2;Abw. Kontoinhaber 2;Kennz. Hauptbankverb. 2;Bankverb 2 G?ltig von;Bankverb 2 G?ltig bis;Bankleitzahl 3;Bankbezeichnung 3;Bank-Kontonummer 3;L?nderkennzeichen 3;IBAN-Nr. 3;IBAN3 korrekt;SWIFT-Code 3;Abw. Kontoinhaber 3;Kennz. Hauptbankverb. 3;Bankverb 3 G?ltig von;Bankverb 3 G?ltig bis;Bankleitzahl 4;Bankbezeichnung 4;Bank-Kontonummer 4;L?nderkennzeichen 4;IBAN-Nr. 4;IBAN4 korrekt;SWIFT-Code 4;Abw. Kontoinhaber 4;Kennz. Hauptbankverb. 4;Bankverb 4 G?ltig von;Bankverb 4 G?ltig bis;Bankleitzahl 5;Bankbezeichnung 5;Bank-Kontonummer 5;L?nderkennzeichen 5;IBAN-Nr. 5;IBAN5 korrekt;SWIFT-Code 5;Abw. Kontoinhaber 5;Kennz. Hauptbankverb. 5;Bankverb 5 G?ltig von;Bankverb 5 G?ltig bis;Leerfeld;Briefanrede;Gru?formel;Kundennummer;Steuernummer;Sprache;Ansprechpartner;Vertreter;Sachbearbeiter;Diverse-Konto;Ausgabeziel;W?hrungssteuerung;Kreditlimit (Debitor);Zahlungsbedingung;F?lligkeit in Tagen (Debitor);Skonto in Prozent (Debitor);Kreditoren-Ziel 1 Tg.;Kreditoren-Skonto 1 %;Kreditoren-Ziel 2 Tg.;Kreditoren-Skonto 2 %;Kreditoren-Ziel 3 Brutto Tg.;Kreditoren-Ziel 4 Tg.;Kreditoren-Skonto 4 %;Kreditoren-Ziel 5 Tg.;Kreditoren-Skonto 5 %;Mahnung;Kontoauszug;Mahntext 1;Mahntext 2;Mahntext 3;Kontoauszugstext;Mahnlimit Betrag;Mahnlimit %;Zinsberechnung;Mahnzinssatz 1;Mahnzinssatz 2;Mahnzinssatz 3;Lastschrift;Verfahren;Mandantenbank;Zahlungstr?ger;Indiv. Feld 1;Indiv. Feld 2;Indiv. Feld 3;Indiv. Feld 4;Indiv. Feld 5;Indiv. Feld 6;Indiv. Feld 7;Indiv. Feld 8;Indiv. Feld 9;Indiv. Feld 10;Indiv. Feld 11;Indiv. Feld 12;Indiv. Feld 13;Indiv. Feld 14;Indiv. Feld 15;Abweichende Anrede (Rechnungsadresse);Adressart (Rechnungsadresse);Stra?e (Rechnungsadresse);Postfach (Rechnungsadresse);Postleitzahl (Rechnungsadresse);Ort (Rechnungsadresse);Land (Rechnungsadresse);Versandzusatz (Rechnungsadresse);Adresszusatz (Rechnungsadresse);Abw. Zustellbezeichnung 1 (Rechnungsadresse);Abw. Zustellbezeichnung 2 (Rechnungsadresse);Adresse G?ltig von (Rechnungsadresse);Adresse G?ltig bis (Rechnungsadresse);Bankleitzahl 6;Bankbezeichnung 6;Bank-Kontonummer 6;L?nderkennzeichen 6;IBAN-Nr. 6;IBAN6 korrekt;SWIFT-Code 6;Abw. Kontoinhaber 6;Kennz. Hauptbankverb. 6;Bankverb 6 G?ltig von;Bankverb 6 G?ltig bis;Bankleitzahl 7;Bankbezeichnung 7;Bank-Kontonummer 7;L?nderkennzeichen 7;IBAN-Nr. 7;IBAN7 korrekt;SWIFT-Code 7;Abw. Kontoinhaber 7;Kennz. Hauptbankverb. 7;Bankverb 7 G?ltig von;Bankverb 7 G?ltig bis;Bankleitzahl 8;Bankbezeichnung 8;Bank-Kontonummer 8;L?nderkennzeichen 8;IBAN-Nr. 8;IBAN8 korrekt;SWIFT-Code 8;Abw. Kontoinhaber 8;Kennz. Hauptbankverb. 8;Bankverb 8 G?ltig von;Bankverb 8 G?ltig bis;Bankleitzahl 9;Bankbezeichnung 9;Bank-Kontonummer 9;L?nderkennzeichen 9;IBAN-Nr. 9;IBAN9 korrekt;SWIFT-Code 9;Abw. Kontoinhaber 9;Kennz. Hauptbankverb. 9;Bankverb 9 G?ltig von;Bankverb 9 G?ltig bis;Bankleitzahl 10;Bankbezeichnung 10;Bank-Kontonummer 10;L?nderkennzeichen 10;IBAN-Nr. 10;IBAN10 korrekt;SWIFT-Code 10;Abw. Kontoinhaber 10;Kennz. Hauptbankverb. 10;Bankverb 10 G?ltig von;Bankverb 10 G?ltig bis;Nummer Fremdsystem;Insolvent;Mandatsreferenz 1;Mandatsreferenz 2;Mandatsreferenz 3;Mandatsreferenz 4;Mandatsreferenz 5;Mandatsreferenz 6;Mandatsreferenz 7;Mandatsreferenz 8;Mandatsreferenz 9;Mandatsreferenz 10;Verkn?pftes OPOS-Konto;Mahnsperre bis;Lastschriftsperre bis;Zahlungssperre bis;Geb?hrenberechnung;Mahngeb?hr 1;Mahngeb?hr 2;Mahngeb?hr 3;Pauschalenberechnung;Verzugspauschale 1;Verzugspauschale 2;Verzugspauschale 3 |
|
3 |
10000;"M?bel Testgruber";"Schreinerei";"";"";"";"2";"M?bel Testgrube";"DE";"133546770";"Firma";"";"";"";"STR";"Nelkenteststra?e 125";"";"90482";"N?rnberg";"";"";"";"Firma";"";"";1;01012012;;"";"";"";"";"";"";"";"";"";"";"";"";"50090500";"Sparda-Bank Hessen";"2345678";"DE";"DE49100102220002222222";"";"GENODEF1S12";"Herr Testm?ller";"1";01012012;01012013;"50090500";"Sparda-Bank Hessen";"2345678";"DE";"DE49100102220002222222";"";"GENODEF1S12";"Herr Testm?ller";"0";01012012;01012013;"50090500";"Sparda-Bank Hessen";"2345678";"DE";"DE49100102220002222222";"";"GENODEF1S12";"Herr Testm?ller";"0";01012012;01012013;"50090500";"Sparda-Bank Hessen";"2345678";"DE";"DE49100102220002222222";"";"GENODEF1S12";"Herr Testm?ller";"0";01012012;01012013;"50090500";"Sparda-Bank Hessen";"2345678";"DE";"DE49100102220002222222";"";"GENODEF1S12";"Herr Testm?ller";"0";01012012;01012013;"";"Sehr geehrte Frau";"Hallo";"KDN 12345";"DE776655";"2";"Frau Huber";"Herr Schmid";"Frau Tester";;;"";0;0;0;0,00;0;0,00;0;0,00;0;0;0,00;0;0,00;7;;;;;;23,30;20,25;1;10,50;11,11;12,12;"7";"1";1;"9";"ind. Feld";"";"";"";"";"";"";"";"";"";"";"individuelle Beschriftung";"";"";"";"";"";"";"";"";"";"";"";"";"";"";;;"";"";"";"";"";"";"";"";"";;;"";"";"";"";"";"";"";"";"";;;"";"";"";"";"";"";"";"";"";;;"50050000";"Testbank";"454545";"GB";"GB4545454545";"";"GENODEF1S12";"Herr Muster";"0";01012012;01012013;"76060618";"VR-Bank";"121212";"DE";"DE706060660125";"";"GE0987";"Herr Testmeier";"0";01012012;01012014;"";0;"1234-AB-56787";"";"";"";"";"";"";"";"";"778259637";75000;03122015;02122015;01122015;1;5,1;5,2;5,3;;0,9;0,2;0,5 |
|
4 |
20000;"Einrichtungshaus Muster";"M?belhaus";"";"";"";"2";"Muster";"";"";"Firma";"";"";"";"STR";"Feldgasse 15";"";"90409";"N?rnberg";"";"";"";"Firma";"";"";1;01012012;;"";"";"";"";"";"";"";"";"";"";"";"";"50090500";"Sparda-Bank Hessen";"2345678";"DE";"DE49100102220002222222";"";"GENODEF1S12";"Herr Testm?ller";"1";01012012;01012013;"50090500";"Sparda-Bank Hessen";"2345678";"DE";"DE49100102220002222222";"";"GENODEF1S12";"Herr Testm?ller";"0";01012012;01012013;"50090500";"Sparda-Bank Hessen";"2345678";"DE";"DE49100102220002222222";"";"GENODEF1S12";"Herr Testm?ller";"0";01012012;01012013;"50090500";"Sparda-Bank Hessen";"2345678";"DE";"DE49100102220002222222";"";"GENODEF1S12";"Herr Testm?ller";"0";01012012;01012013;"50090500";"Sparda-Bank Hessen";"2345678";"DE";"DE49100102220002222222";"";"GENODEF1S12";"Herr Testm?ller";"0";01012012;01012013;"";"Sehr geehrte Frau";"Hallo";"KDN 12345";"DE776655";"2";"Frau Huber";"Herr Schmid";"Frau Tester";;;"";0;0;0;0,00;0;0,00;0;0,00;0;0;0,00;0;0,00;7;;;;;;23,30;;;;;;"";"";0;"";"";"";"";"";"";"";"";"";"";"";"";"individuelle Beschriftung";"";"";"";"";"";"";"";"";"";"";"";"";"";"";;;"";"";"";"";"";"";"";"";"";;;"";"";"";"";"";"";"";"";"";;;"";"";"";"";"";"";"";"";"";;;"50050000";"Testbank";"454545";"GB";"GB4545454545";"";"GENODEF1S12";"Herr Muster";"0";01012012;01012013;"76060618";"VR-Bank";"121212";"DE";"DE706060660125";"";"GE0987";"Herr Testmeier";"0";01012012;01012014;"";0;"";"";"";"";"";"";"";"";"";"";75000;03122015;02122015;01122015;1;5,1;5,2;5,3;;0,9;0,2;0,5 |
|
5 |
30000;"";"";"Mustermeier";"Hans";"";"1";"";"";"";"Herr";"";"";"";"STR";"Musterweg 14b";"";"90489";"N?rnberg";"";"";"";"Firma";"";"";1;01012012;;"";"";"";"";"";"";"";"";"";"";"";"";"50090500";"Sparda-Bank Hessen";"2345678";"DE";"DE49100102220002222222";"";"GENODEF1S12";"Herr Testm?ller";"1";01012012;01012013;"50090500";"Sparda-Bank Hessen";"2345678";"DE";"DE49100102220002222222";"";"GENODEF1S12";"Herr Testm?ller";"0";01012012;01012013;"50090500";"Sparda-Bank Hessen";"2345678";"DE";"DE49100102220002222222";"";"GENODEF1S12";"Herr Testm?ller";"0";01012012;01012013;"50090500";"Sparda-Bank Hessen";"2345678";"DE";"DE49100102220002222222";"";"GENODEF1S12";"Herr Testm?ller";"0";01012012;01012013;"50090500";"Sparda-Bank Hessen";"2345678";"DE";"DE49100102220002222222";"";"GENODEF1S12";"Herr Testm?ller";"0";01012012;01012013;"";"Sehr geehrte Frau";"Hallo";"KDN 12345";"DE776655";"2";"Frau Huber";"Herr Schmid";"Frau Tester";;;"";0;0;0;0,00;0;0,00;0;0,00;0;0;0,00;0;0,00;7;;;;;;23,30;;;;;;"";"";0;"";"";"";"";"";"";"";"";"";"";"";"";"individuelle Beschriftung";"";"";"";"";"";"";"";"";"";"";"";"";"";"";;;"";"";"";"";"";"";"";"";"";;;"";"";"";"";"";"";"";"";"";;;"";"";"";"";"";"";"";"";"";;;"50050000";"Testbank";"454545";"GB";"GB4545454545";"";"GENODEF1S12";"Herr Muster";"0";01012012;01012013;"76060618";"VR-Bank";"121212";"DE";"DE706060660125";"";"GE0987";"Herr Testmeier";"0";01012012;01012014;"";0;"";"";"";"";"";"";"";"";"";"";75000;03122015;02122015;01122015;1;5,1;5,2;5,3;;0,9;0,2;0,5 |
|
6 |
40000;"";"";"Testhuber";"Susanne";"";"1";"";"";"";"Frau";"";"";"";"STR";"Beispielstr. 56";"";"90512";"N?rnberg";"";"";"";"Firma";"";"";1;01012012;;"";"";"";"";"";"";"";"";"";"";"";"";"50090500";"Sparda-Bank Hessen";"2345678";"DE";"DE49100102220002222222";"";"GENODEF1S12";"Herr Testm?ller";"1";01012012;01012013;"50090500";"Sparda-Bank Hessen";"2345678";"DE";"DE49100102220002222222";"";"GENODEF1S12";"Herr Testm?ller";"0";01012012;01012013;"50090500";"Sparda-Bank Hessen";"2345678";"DE";"DE49100102220002222222";"";"GENODEF1S12";"Herr Testm?ller";"0";01012012;01012013;"50090500";"Sparda-Bank Hessen";"2345678";"DE";"DE49100102220002222222";"";"GENODEF1S12";"Herr Testm?ller";"0";01012012;01012013;"50090500";"Sparda-Bank Hessen";"2345678";"DE";"DE49100102220002222222";"";"GENODEF1S12";"Herr Testm?ller";"0";01012012;01012013;"";"Sehr geehrte Frau";"Hallo";"KDN 12345";"DE776655";"2";"Frau Huber";"Herr Schmid";"Frau Tester";;;"";0;0;0;0,00;0;0,00;0;0,00;0;0;0,00;0;0,00;7;;;;;;23,30;;;;;;"";"";0;"";"";"";"";"";"";"";"";"";"";"";"";"individuelle Beschriftung";"";"";"";"";"";"";"";"";"";"";"";"";"";"";;;"";"";"";"";"";"";"";"";"";;;"";"";"";"";"";"";"";"";"";;;"";"";"";"";"";"";"";"";"";;;"50050000";"Testbank";"454545";"GB";"GB4545454545";"";"GENODEF1S12";"Herr Muster";"0";01012012;01012013;"76060618";"VR-Bank";"121212";"DE";"DE706060660125";"";"GE0987";"Herr Testmeier";"0";01012012;01012014;"";0;"";"";"";"";"";"";"";"";"";"";75000;03122015;02122015;01122015;1;5,1;5,2;5,3;;0,9;0,2;0,5 |
doc/DATEV-2015/EXTF_Textschluessel.csv | ||
---|---|---|
1 |
"EXTF";510;44;"Textschl?ssel";2;20150729103107277;;"RE";"Admin";"";29098;55003;20150101;7;;;"";"";;;;"";;"";;;"";;;"";"" |
|
2 |
TS-Nr.;Beschriftung;Ref.-TS;Konto Soll;Konto Haben;Sprach-ID |
|
3 |
30;"Weizen";30;5005000;4000000;"de-DE" |
|
4 |
31;"Winterweizen";30;5005000;4000000;"de-DE" |
|
5 |
32;"Dinkel";30;5005000;4000000;"de-DE" |
|
6 |
33;"Sommerweizen";33;5005000;4000000;"de-DE" |
|
7 |
34;"corn";30;5005000;4000000;"en-GB" |
|
8 |
35;"oat";35;5005000;4000000;"en-GB" |
|
9 |
38;"Energiegetreide";38;5005000;4100000;"de-DE" |
|
10 |
39;"durum wheat";39;5005000;4000000;"en-GB" |
doc/DATEV-2015/EXTF_Wiederkehrende-Buchungen.csv | ||
---|---|---|
1 |
"EXTF";510;65;"Wiederkehrende Buchungen";2;20150729093200673;;"RE";"Admin";"";55003;63021;20150101;4;;;"";"";;;;"";;"";;"";;;"";""; |
|
2 |
B1;WKZ (Umsatz);Umsatz (ohne Soll/Haben-Kz);Soll/Haben-Kennzeichen;Kurs;Basis-Umsatz;WKZ Basis-Umsatz;BU-Schl?ssel;Gegenkonto (ohne BU-Schl?ssel);Belegfeld1;Belegfeld2;Beginndatum;Kontonummer;St?ck;Gewicht;KOST1-Kostenstelle;KOST2-Kostenstelle;KOST-Menge;Skonto;Buchungstext;Postensperre;Diverse Adressnummer;Gesch?ftspartnerbank;Sachverhalt;Zinssperre;Beleglink;EU-Land u. UStId;EU-Steuersatz;Abw. Versteuerungsart;Sachverhalt L+L;BU 49 Hauptfunktionstyp;BU 49 Hauptfunktionsnummer;BU 49 Funktionserg?nzung;Zusatzinformation - Art 1;Zusatzinformation- Inhalt 1;Zusatzinformation - Art 2;Zusatzinformation- Inhalt 2;Zusatzinformation - Art 3;Zusatzinformation- Inhalt 3;Zusatzinformation - Art 4;Zusatzinformation- Inhalt 4;Zusatzinformation - Art 5;Zusatzinformation- Inhalt 5;Zusatzinformation - Art 6;Zusatzinformation- Inhalt 6;Zusatzinformation - Art 7;Zusatzinformation- Inhalt 7;Zusatzinformation - Art 8;Zusatzinformation- Inhalt 8;Zusatzinformation - Art 9;Zusatzinformation- Inhalt 9;Zusatzinformation - Art 10;Zusatzinformation- Inhalt 10;Zusatzinformation - Art 11;Zusatzinformation- Inhalt 11;Zusatzinformation - Art 12;Zusatzinformation- Inhalt 12;Zusatzinformation - Art 13;Zusatzinformation- Inhalt 13;Zusatzinformation - Art 14;Zusatzinformation- Inhalt 14;Zusatzinformation - Art 15;Zusatzinformation- Inhalt 15;Zusatzinformation - Art 16;Zusatzinformation- Inhalt 16;Zusatzinformation - Art 17;Zusatzinformation- Inhalt 17;Zusatzinformation - Art 18;Zusatzinformation- Inhalt 18;Zusatzinformation - Art 19;Zusatzinformation- Inhalt 19;Zusatzinformation - Art 20;Zusatzinformation- Inhalt 20;Zahlweise;Forderungsart;Veranlagungsjahr;Zugeordnete F?lligkeit;Zuletzt per;N?chste F?lligkeit;Enddatum;Zeitintervallart;Zeitabstand;Wochentag;Monat;Ordnungszahl Tag im Monat;Ordnungszahl Wochentag;EndeTyp;Gesellschaftername;Beteiligtennummer;Identifikationsnummer;Zeichnernummer;SEPA-Mandatsreferenz;Postensperre bis;KOST-Datum;Bezeichnung SoBil-Sachverhalt;Kennzeichen SoBil-Buchung |
|
3 |
2;"";488,00;"H";;;"";"";4360;"";"";01032013;980;;;"10";"";;;"Geb?udeversicherung";;"";;;;"";"";;"";;;;;"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";;"";;;01032013;01042013;01022014;"MON";1;;;1;;2;"";;"";"";"1259887";;;""; |
|
4 |
2;"";333,52;"H";;;"";"";4360;"";"";31082012;980;;;"10";"";;;"Brandversicherung";;"";;;;"";"";;"";;;;;"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";;"";;;01032013;01042013;01082013;"MON";1;;;1;;2;"Mustermann";4711;"130263d";"";"77789-AB-789";25032016;23122015;"Sonderbilanz";2 |
doc/DATEV-2015/EXTF_Zahlungsbedingungen.csv | ||
---|---|---|
1 |
"EXTF";510;46;"Zahlungsbedingungen";2;20150729093357008;;"RE";"Admin";"";55003;63021;20150101;4;;;"";"";;;;"";;"";;"";;;"";""; |
|
2 |
Nummer;Bezeichnung;F?lligkeitstyp;Skonto 1%;Skonto 1 Tage;Skonto 2 %;Skonto 2 Tage;F?llig Tage;Rechnung bis / Zeitraum 1;Skonto1 Datum / Zeitraum 1;Skonto 1 Monat / Zeitraum 1;Skonto 2 Datum / Zeitraum 1;Skonto 2 Monat / Zeitraum 1;F?llig Datum / Zeitraum 1;F?llig Monat / Zeitraum 1;Rechnung bis / Zeitraum 2;Skonto1 Datum / Zeitraum 2;Skonto 1 Monat / Zeitraum 2;Skonto 2 Datum / Zeitraum 2;Skonto 2 Monat / Zeitraum 2;F?llig Datum / Zeitraum 2;F?llig Monat / Zeitraum 2;Rechnung bis / Zeitraum 3;Skonto1 Datum / Zeitraum 3;Skonto1 Monat / Zeitraum 3;Skonto 2 Datum / Zeitraum 3;Skonto 2 Monat / Zeitraum 3;F?llig Datum / Zeitraum 3;F?llig Monat / Zeitraum 3;Leerfeld;Verwendung |
|
3 |
10;"14 Tage 2% oder 30 Tage Netto";1;200;14;;;30;;;0;;0;;0;;;0;;0;;0;;;0;;0;;0;""; |
|
4 |
11;"14 Tage 3% oder 30 Tage Netto";1;300;14;200;10;30;;;0;;0;;0;;;0;;0;;0;;;0;;0;;0;""; |
|
5 |
12;"30 Tage Netto";1;300;10;;;30;;;0;;0;;0;;;0;;0;;0;;;0;;0;;0;""; |
|
6 |
13;"14 Tage 3% oder 60 Tage Netto";1;300;14;;;60;;;0;;0;;0;;;0;;0;;0;;;0;;0;;0;""; |
|
7 |
14;"10 Tage 2% oder 30 Tage Netto";1;200;10;;;30;10;20;0;;0;31;0;20;31;0;;0;10;0;31;10;0;;0;20;0;""; |
|
8 |
15;"10 Tage 3% oder 30 Tage Netto";1;300;10;;;30;;;0;;0;;0;;;0;;0;;0;;;0;;0;;0;""; |
|
9 |
16;"sofort ohne Abzug";1;;;;;;;;0;;0;;0;;;0;;0;;0;;;0;;0;;0;""; |
|
10 |
17;"Vorkasse";1;;;;;;;;0;;0;;0;;;0;;0;;0;;;0;;0;;0;""; |
t/datev/datev_format_2018.t | ||
---|---|---|
1 |
use strict; |
|
2 |
use Test::More; |
|
3 |
use Test::Deep qw(cmp_bag); |
|
4 |
|
|
5 |
use lib 't'; |
|
6 |
|
|
7 |
use_ok 'Support::TestSetup'; |
|
8 |
use SL::DATEV qw(:CONSTANTS); |
|
9 |
use SL::Dev::ALL qw(:ALL); |
|
10 |
use List::Util qw(sum); |
|
11 |
use SL::DB::Buchungsgruppe; |
|
12 |
use SL::DB::Chart; |
|
13 |
use DateTime; |
|
14 |
use Data::Dumper; |
|
15 |
use utf8; |
|
16 |
|
|
17 |
Support::TestSetup::login(); |
|
18 |
|
|
19 |
my $dbh = SL::DB->client->dbh; |
|
20 |
|
|
21 |
clear_up(); |
|
22 |
my $buchungsgruppe7 = SL::DB::Manager::Buchungsgruppe->find_by(description => 'Standard 7%') || die "No accounting group for 7\%"; |
|
23 |
my $date = DateTime->new(year => 2017, month => 7, day => 19); |
|
24 |
my $department = create_department(description => 'Kästchenweiße heiße Preise'); |
|
25 |
my $project = create_project(projectnumber => 2017, description => '299'); |
|
26 |
|
|
27 |
my $part1 = new_part(partnumber => '19', description => 'Part 19%')->save; |
|
28 |
my $part2 = new_part( |
|
29 |
partnumber => '7', |
|
30 |
description => 'Part 7%', |
|
31 |
buchungsgruppen_id => $buchungsgruppe7->id, |
|
32 |
)->save; |
|
33 |
|
|
34 |
my $invoice = create_sales_invoice( |
|
35 |
invnumber => "ݗݘݰݶ", |
|
36 |
itime => $date, |
|
37 |
gldate => $date, |
|
38 |
taxincluded => 0, |
|
39 |
transdate => $date, |
|
40 |
invoiceitems => [ create_invoice_item(part => $part1, qty => 3, sellprice => 550), |
|
41 |
create_invoice_item(part => $part2, qty => 10, sellprice => 50), |
|
42 |
], |
|
43 |
department_id => $department->id, |
|
44 |
globalproject_id => $project->id, |
|
45 |
); |
|
46 |
|
|
47 |
# lets make a boom |
|
48 |
# generate_datev_* doesnt care about encoding but |
|
49 |
# csv_buchungsexport does! all arabic will be deleted |
|
50 |
# and no string will be left as invnumber |
|
51 |
|
|
52 |
my $datev1 = SL::DATEV->new( |
|
53 |
dbh => $dbh, |
|
54 |
trans_id => $invoice->id, |
|
55 |
); |
|
56 |
|
|
57 |
my $startdate = DateTime->new(year => 2017, month => 1, day => 1); |
|
58 |
my $enddate = DateTime->new(year => 2017, month => 12, day => 31); |
|
59 |
my $today = DateTime->new(year => 2017, month => 3, day => 17); |
|
60 |
|
|
61 |
|
|
62 |
$datev1->from($startdate); |
|
63 |
$datev1->to($enddate); |
|
64 |
|
|
65 |
$datev1->generate_datev_data; |
|
66 |
$datev1->generate_datev_lines; |
|
67 |
|
|
68 |
# check conversion to csv |
|
69 |
$datev1->from($startdate); |
|
70 |
$datev1->to($enddate); |
|
71 |
eval { |
|
72 |
$datev1->csv_buchungsexport(); |
|
73 |
1; }; |
|
74 |
like($@, qr/^Not a valid value: '' for 'belegfeld1' with .*/, "wrong encoding"); |
|
75 |
|
|
76 |
# redefine invnumber, but still broken |
|
77 |
$invoice->invnumber('ݗݘݰݶmuh'); |
|
78 |
$invoice->save(); |
|
79 |
$datev1->generate_datev_data; |
|
80 |
$datev1->generate_datev_lines; |
|
81 |
eval { |
|
82 |
$datev1->csv_buchungsexport(); |
|
83 |
1; }; |
|
84 |
like($@, qr/^Not a valid value: '' for 'belegfeld1' with amount/, "mixed encoding"); |
|
85 |
|
|
86 |
|
|
87 |
# create one haben buchung with GLTransaction today |
|
88 |
|
|
89 |
my $expense_chart = SL::DB::Manager::Chart->find_by(accno => '4660'); # Reisekosten |
|
90 |
my $cash_chart = SL::DB::Manager::Chart->find_by(accno => '1000'); # Kasse |
|
91 |
my $tax_chart = SL::DB::Manager::Chart->find_by(accno => '1576'); # Vorsteuer |
|
92 |
my $tax_9 = SL::DB::Manager::Tax->find_by(taxkey => 9, rate => 0.19) || die "No tax"; |
|
93 |
|
|
94 |
my @acc_trans; |
|
95 |
push(@acc_trans, SL::DB::AccTransaction->new( |
|
96 |
chart_id => $expense_chart->id, |
|
97 |
chart_link => $expense_chart->link, |
|
98 |
amount => -84.03, |
|
99 |
transdate => $today, |
|
100 |
source => '', |
|
101 |
taxkey => 9, |
|
102 |
tax_id => $tax_9->id, |
|
103 |
project_id => $project->id, |
|
104 |
)); |
|
105 |
push(@acc_trans, SL::DB::AccTransaction->new( |
|
106 |
chart_id => $tax_chart->id, |
|
107 |
chart_link => $tax_chart->link, |
|
108 |
amount => -15.97, |
|
109 |
transdate => $today, |
|
110 |
source => '', |
|
111 |
taxkey => 9, |
|
112 |
tax_id => $tax_9->id, |
|
113 |
project_id => $project->id, |
|
114 |
)); |
|
115 |
push(@acc_trans, SL::DB::AccTransaction->new( |
|
116 |
chart_id => $cash_chart->id, |
|
117 |
chart_link => $cash_chart->link, |
|
118 |
amount => 100, |
|
119 |
transdate => $today, |
|
120 |
source => '', |
|
121 |
taxkey => 0, |
|
122 |
tax_id => 0, |
|
123 |
)); |
|
124 |
|
|
125 |
my $gl_transaction = SL::DB::GLTransaction->new( |
|
126 |
reference => "Reisekosten März 2018", |
|
127 |
description => "Reisekonsten März 2018 / Ma Schmidt", |
|
128 |
transdate => $today, |
|
129 |
gldate => $today, |
|
130 |
employee_id => SL::DB::Manager::Employee->current->id, |
|
131 |
taxincluded => 1, |
|
132 |
type => undef, |
|
133 |
ob_transaction => 0, |
|
134 |
cb_transaction => 0, |
|
135 |
storno => 0, |
|
136 |
storno_id => undef, |
|
137 |
transactions => \@acc_trans, |
|
138 |
)->save; |
|
139 |
my $datev2 = SL::DATEV->new( |
|
140 |
dbh => $dbh, |
|
141 |
trans_id => $gl_transaction->id, |
|
142 |
); |
|
143 |
|
|
144 |
$datev2->from($startdate); |
|
145 |
$datev2->to($enddate); |
|
146 |
$datev2->generate_datev_data; |
|
147 |
$datev2->generate_datev_lines; |
|
148 |
|
|
149 |
my @data_csv = splice @{ $datev2->csv_buchungsexport() }, 2, 5; |
|
150 |
@data_csv = sort { $a->[0] <=> $b->[0] } @data_csv; |
|
151 |
|
|
152 |
|
|
153 |
my $cp1252_posting_text = SL::Iconv::convert("UTF-8", "CP1252", 'Reisekosten März 2018'); |
|
154 |
cmp_bag($data_csv[0], [ 100, 'H', 'EUR', undef, undef, undef, '4660', '1000', 9, '1703', 'Reisekosten ', |
|
155 |
undef, undef, $cp1252_posting_text, undef, undef, undef, undef, undef, undef, undef, undef, |
|
156 |
undef, undef, undef, undef, undef, undef, undef, undef, undef, undef, undef, undef, undef, |
|
157 |
undef, undef, '', undef, undef, undef, undef, undef, undef, undef, undef, |
|
158 |
undef, undef, undef, undef, undef, undef, undef, undef, undef, undef, undef, undef, undef, |
|
159 |
undef, undef, undef, undef, undef, undef, undef, undef, undef, undef, undef, undef, undef, |
|
160 |
undef, undef, undef, undef, undef, undef, undef, undef, undef, undef, undef, undef, undef, |
|
161 |
undef, undef, undef, undef, undef, undef, undef, undef, undef, undef, undef, undef, undef, |
|
162 |
undef, undef, undef, undef, undef, undef, undef, undef, undef, undef, undef, undef, undef, |
|
163 |
undef, undef, undef, undef, undef ] |
|
164 |
); |
|
165 |
|
|
166 |
done_testing(); |
|
167 |
clear_up(); |
|
168 |
|
|
169 |
|
|
170 |
sub clear_up { |
|
171 |
SL::DB::Manager::AccTransaction->delete_all( all => 1); |
|
172 |
SL::DB::Manager::InvoiceItem->delete_all( all => 1); |
|
173 |
SL::DB::Manager::Invoice->delete_all( all => 1); |
|
174 |
SL::DB::Manager::Customer->delete_all( all => 1); |
|
175 |
SL::DB::Manager::Part->delete_all( all => 1); |
|
176 |
SL::DB::Manager::Project->delete_all( all => 1); |
|
177 |
SL::DB::Manager::Department->delete_all( all => 1); |
|
178 |
SL::DATEV->clean_temporary_directories; |
|
179 |
}; |
|
180 |
|
|
181 |
1; |
t/datev/invoices.t | ||
---|---|---|
34 | 34 |
)->save; |
35 | 35 |
|
36 | 36 |
my $invoice = create_sales_invoice( |
37 |
invnumber => "1 sales invoice",
|
|
37 |
invnumber => "Þ sales ¥& invöice",
|
|
38 | 38 |
itime => $gldate, |
39 | 39 |
gldate => $gldate, |
40 | 40 |
intnotes => 'booked in February', |
... | ... | |
59 | 59 |
$datev1->generate_datev_data; |
60 | 60 |
cmp_bag $datev1->generate_datev_lines, [ |
61 | 61 |
{ |
62 |
'belegfeld1' => '1 sales invoice',
|
|
62 |
'belegfeld1' => "\x{de} sales \x{a5}& inv\x{f6}ice",
|
|
63 | 63 |
'buchungstext' => 'Testcustomer', |
64 | 64 |
'datum' => '01.01.2017', |
65 | 65 |
'gegenkonto' => '8400', |
... | ... | |
67 | 67 |
'kost1' => 'Kostenstelle DATEV-Schnittstelle 2018', |
68 | 68 |
'kost2' => 'Crowd-Funding September 2017', |
69 | 69 |
'umsatz' => '249.9', |
70 |
'waehrung' => 'EUR' |
|
70 |
'waehrung' => 'EUR', |
|
71 |
'soll_haben_kennzeichen' => 'S', |
|
71 | 72 |
}, |
72 | 73 |
{ |
73 |
'belegfeld1' => '1 sales invoice',
|
|
74 |
'belegfeld1' => "\x{de} sales \x{a5}& inv\x{f6}ice",
|
|
74 | 75 |
'buchungstext' => 'Testcustomer', |
75 | 76 |
'datum' => '01.01.2017', |
76 | 77 |
'gegenkonto' => '8300', |
... | ... | |
78 | 79 |
'kost1' => 'Kostenstelle DATEV-Schnittstelle 2018', |
79 | 80 |
'kost2' => 'Crowd-Funding September 2017', |
80 | 81 |
'umsatz' => 535, |
81 |
'waehrung' => 'EUR' |
|
82 |
'waehrung' => 'EUR', |
|
83 |
'soll_haben_kennzeichen' => 'S', |
|
82 | 84 |
}, |
83 | 85 |
{ |
84 |
'belegfeld1' => '1 sales invoice',
|
|
86 |
'belegfeld1' => "\x{de} sales \x{a5}& inv\x{f6}ice",
|
|
85 | 87 |
'buchungstext' => 'Testcustomer', |
86 | 88 |
'datum' => '05.01.2017', |
87 | 89 |
'gegenkonto' => '1400', |
... | ... | |
89 | 91 |
'kost1' => 'Kostenstelle DATEV-Schnittstelle 2018', |
90 | 92 |
'kost2' => 'Crowd-Funding September 2017', |
91 | 93 |
'umsatz' => '784.9', |
92 |
'waehrung' => 'EUR' |
|
94 |
'waehrung' => 'EUR', |
|
95 |
'soll_haben_kennzeichen' => 'S', |
|
93 | 96 |
}, |
94 | 97 |
], "trans_id datev check ok"; |
95 | 98 |
|
99 |
my $startdate = DateTime->new(year => 2017, month => 1, day => 1); |
|
100 |
my $enddate = DateTime->new(year => 2017, month => 12, day => 31); |
|
101 |
|
|
102 |
# check conversion to csv |
|
103 |
$datev1->from($startdate); |
|
104 |
$datev1->to($enddate); |
|
105 |
|
|
106 |
# splice away the header, because sort won't do |
|
107 |
# we need sort, because pay_invoice is not acc_trans_id order safe |
|
108 |
my @data_csv = splice @{ $datev1->csv_buchungsexport() }, 2, 5; |
|
109 |
@data_csv = sort { $a->[0] <=> $b->[0] } @data_csv; |
|
110 |
|
|
111 |
my $cp1252_belegfeld1 = SL::Iconv::convert("UTF-8", "CP1252", 'Þ sales ¥& i'); |
|
112 |
my $cp1252_buchungstext = SL::Iconv::convert("UTF-8", "CP1252", 'Þ sales ¥& invöice'); |
|
113 |
|
|
114 |
cmp_bag($data_csv[1], [ 535, 'S', 'EUR', undef, undef, undef, '1400', '8300', undef, '0101', $cp1252_belegfeld1, |
|
115 |
undef, undef, $cp1252_buchungstext, undef, undef, undef, undef, undef, undef, undef, undef, |
|
116 |
undef, undef, undef, undef, undef, undef, undef, undef, undef, undef, undef, undef, undef, |
|
117 |
undef, 'Crowd-Fu', 'Kostenst', undef, undef, undef, undef, undef, undef, undef, undef, |
|
118 |
undef, undef, undef, undef, undef, undef, undef, undef, undef, undef, undef, undef, undef, |
|
119 |
undef, undef, undef, undef, undef, undef, undef, undef, undef, undef, undef, undef, undef, |
|
120 |
undef, undef, undef, undef, undef, undef, undef, undef, undef, undef, undef, undef, undef, |
|
121 |
undef, undef, undef, undef, undef, undef, undef, undef, undef, undef, undef, undef, undef, |
|
122 |
undef, undef, undef, undef, undef, undef, undef, undef, undef, undef, undef, undef, undef, |
|
123 |
undef, undef, undef, undef, undef ] |
|
124 |
); |
|
125 |
|
|
126 |
cmp_bag($data_csv[0], [ '249,9', 'S', 'EUR', undef, undef, undef, '1400', '8400', undef, '0101', $cp1252_belegfeld1, |
|
127 |
undef, undef, $cp1252_buchungstext, undef, undef, undef, undef, undef, undef, undef, undef, |
|
128 |
undef, undef, undef, undef, undef, undef, undef, undef, undef, undef, undef, undef, undef, |
|
129 |
undef, 'Crowd-Fu', 'Kostenst', undef, undef, undef, undef, undef, undef, undef, undef, |
|
130 |
undef, undef, undef, undef, undef, undef, undef, undef, undef, undef, undef, undef, undef, |
|
131 |
undef, undef, undef, undef, undef, undef, undef, undef, undef, undef, undef, undef, undef, |
|
132 |
undef, undef, undef, undef, undef, undef, undef, undef, undef, undef, undef, undef, undef, |
|
133 |
undef, undef, undef, undef, undef, undef, undef, undef, undef, undef, undef, undef, undef, |
|
134 |
undef, undef, undef, undef, undef, undef, undef, undef, undef, undef, undef, undef, undef, |
|
135 |
undef, undef, undef, undef, undef ] |
|
136 |
); |
|
137 |
cmp_bag($data_csv[2], [ '784,9', 'S', 'EUR', undef, undef, undef, '1200', '1400', undef, '0501', $cp1252_belegfeld1, |
|
138 |
undef, undef, $cp1252_buchungstext, undef, undef, undef, undef, undef, undef, undef, undef, |
|
139 |
undef, undef, undef, undef, undef, undef, undef, undef, undef, undef, undef, undef, undef, |
|
140 |
undef, 'Crowd-Fu', 'Kostenst', undef, undef, undef, undef, undef, undef, undef, undef, |
|
141 |
undef, undef, undef, undef, undef, undef, undef, undef, undef, undef, undef, undef, undef, |
|
142 |
undef, undef, undef, undef, undef, undef, undef, undef, undef, undef, undef, undef, undef, |
|
143 |
undef, undef, undef, undef, undef, undef, undef, undef, undef, undef, undef, undef, undef, |
|
144 |
undef, undef, undef, undef, undef, undef, undef, undef, undef, undef, undef, undef, undef, |
|
145 |
undef, undef, undef, undef, undef, undef, undef, undef, undef, undef, undef, undef, undef, |
|
146 |
undef, undef, undef, undef, undef ] |
|
147 |
); |
|
96 | 148 |
my $march_9 = DateTime->new(year => 2017, month => 3, day => 9); |
97 | 149 |
my $invoice2 = create_sales_invoice( |
98 | 150 |
invnumber => "2 sales invoice", |
... | ... | |
118 | 170 |
] |
119 | 171 |
); |
120 | 172 |
|
121 |
my $startdate = DateTime->new(year => 2017, month => 1, day => 1); |
|
122 |
my $enddate = DateTime->new(year => 2017, month => 12, day => 31); |
|
123 |
|
|
124 | 173 |
my $datev = SL::DATEV->new( |
125 | 174 |
dbh => $dbh, |
126 | 175 |
from => $startdate, |
... | ... | |
161 | 210 |
SL::DB::Manager::Part->delete_all( all => 1); |
162 | 211 |
SL::DB::Manager::Project->delete_all( all => 1); |
163 | 212 |
SL::DB::Manager::Department->delete_all( all => 1); |
213 |
SL::DATEV->clean_temporary_directories; |
|
164 | 214 |
}; |
165 | 215 |
|
166 | 216 |
1; |
Auch abrufbar als: Unified diff
DATEV Format 2018 Backend, Musterdateien und Tests
Technischer Einstieg: perldoc SL::DATEV::CSV