Fast alle Platzhalter werden direkt bei Erstellen von Buchungssätzen "ausgefüllt". Der Platzhalter für die Rechnungsnummern (z.B. %%invoice_number%%) wird jedoch erst beim Erstellen der eigentlichen Export-Datei ersetzt.
Das Belegfeld 2 kann gemäß DATEV-Format nur maximal 12 Zeichen enthalten. Daher wird der Platzhalter leider vom System abgeschnitten. Aus "%%invoice_number%%" wird dann nur noch %%invoice_nu", was nicht mehr erkannt wird.
Mit folgendem Code-Snippet kann man den Platzhalter wiederherstellen, sodass dann auch die Rechnungsnummer wieder ausgegeben wird.
// Belegfeld 2 trims everything to 12 characters, which is less than the full %%invoice_number%% placeholder;
// thus we have to restore this placeholder in this specific case...
add_filter( 'wcdtvfe_create_export_file_after_preprocessing', 'restore_full_invoice_placeholder', 5, 2);
function restore_full_invoice_placeholder( $accounting_record ) {
echo ($accounting_record[ '012_note2' ]);
if( isset( $accounting_record[ '012_note2' ] ) ) {
echo "here";
$accounting_record['012_note2'] = str_replace('%%invoice_nu', '%%invoice_number%%', $accounting_record['012_note2']);
echo "REPLACED";
echo ($accounting_record[ '012_note2' ]);
echo "<br/>";
}
return $accounting_record;
}
Sie haben Fragen oder möchten ein Angebot anfordern?