+ my $umsatzsumme = sum map { $_->{umsatz} } @datev_lines;
+
+ # prepare kne file, everything gets stored in ED00001
+ my $header = $self->make_kne_data_header($form);
+ my $kne_file = SL::DATEV::KNEFile->new();
+ $kne_file->add_block($header);
+
+ my $iconv = $::locale->{iconv_utf8};
+ my %umlaute = ($iconv->convert('ä') => 'ae',
+ $iconv->convert('ö') => 'oe',
+ $iconv->convert('ü') => 'ue',
+ $iconv->convert('Ä') => 'Ae',
+ $iconv->convert('Ö') => 'Oe',
+ $iconv->convert('Ü') => 'Ue',
+ $iconv->convert('ß') => 'sz');
+
+ # add the data from @datev_lines to the kne_file, formatting as needed
+ foreach my $kne ( @datev_lines ) {
+ $kne_file->add_block("+" . $kne_file->format_amount(abs($kne->{umsatz}), 0));
+
+ # only add buchungsschluessel if it was previously defined
+ $kne_file->add_block("\x6C" . $kne->{buchungsschluessel}) if defined $kne->{buchungsschluessel};
+
+ # ($kne->{gegenkonto}) = $kne->{gegenkonto} =~ /^(\d+)/;
+ $kne_file->add_block("a" . trim_leading_zeroes($kne->{gegenkonto}));
+
+ if ( $kne->{belegfeld1} ) {
+ my $invnumber = $kne->{belegfeld1};