Как из банковской выписки сделать DATEV Buchungsstapel

Немецкая бухгалтерия работает на DATEV, и конвертер, у которого есть немецкая страница, но из форматов — только QuickBooks, переведён, а не локализован. Эта страница называет и то, что экспортёр пишет, и то, что он писать отказывается. Всё изложенное вычитано из src/export/datev.ts — файла, который и делает эту выгрузку.

Четыре числа, которые он у вас спрашивает

Это не настройки: без них пакет проводок не к чему привязать.

ПолеЧто этоГде взять
Номер консультантаBeraternummer — собственный номер вашего налогового консультанта в DATEV.У вашего Steuerberater. Он один и тот же во всех пакетах, которые вы ему когда-либо отправите.
Номер клиентаMandantennummer — ваш номер клиента у этого консультанта.Оттуда же, и тоже постоянный.
Счёт банкаKonto — номер самого банковского счёта в плане счетов.1200 в SKR03, 1800 в SKR04. Если у вас другой план счетов — спросите своего консультанта.
КонтрсчётGegenkonto — контрсчёт, против которого проводится каждая строка.Транзитный счёт, с которого вы намерены разнести проводки, — см. последний раздел.

По умолчанию: Konto 1200, Gegenkonto 1590, Sachkontenlänge 4.

Выписка, пересекающая Новый год, отклоняется

Поле Belegdatum — это TTMM: четыре цифры, день и месяц, и никакого года. Год берётся из окна Datum-von / Datum-bis в заголовке, и импортёр применяет его к каждой строке пакета.

Значит, пакет по построению — это один финансовый год. Выписку с 20 декабря по 5 января одним пакетом выразить нельзя, и честных вариантов два: отказать или провести декабрь январём. Этот экспортёр отказывает и называет годы, которые нашёл. Разрежьте выписку по границе года и сконвертируйте каждую половину.

Это единственный случай, когда файла вы не получите. Отказ сделан намеренно: Buchungsstapel, молча перенёсший две недели декабря в следующий год, импортировался бы без единой ошибки и был бы неверен в учёте, а это ровно тот класс ошибок, ради отказа от которых этот сайт и существует.

Почему в суммах нет знака минус

Суммы в DATEV идут без знака. Направление живёт в Soll/Haben-Kennzeichen и — вот на чём спотыкаются — отсчитывается от Konto, а не от вас. Konto здесь — банковский счёт, то есть актив, поэтому приходящие деньги его увеличивают: приход — это S, расход — это H.

Если вы видели конвертер, который выдаёт пакет с перевёрнутыми знаками, ошибка именно эта: Soll/Haben прочитан так, будто точка отсчёта — контрсчёт.

Файл в Windows-1252, а не в UTF-8

UTF-8 DATEV принимает — в именах и адресах дебиторов и кредиторов. Для пакета проводок не принимает. Файл, записанный в UTF-8, в лучшем случае импортируется с покорёженными умляутами, поэтому этот записан в Windows-1252, а символы, в неё не входящие, транслитерируются, а не выбрасываются.

Подробности формата, если кто-то захочет проверить: EXTF, формат 700, Formatname Buchungsstapel, Formatversion 13, 125 колонок, разделитель — точка с запятой. Festschreibung не ставится, поэтому пакет остаётся редактируемым после импорта.

Чего он для вас сделать не может

Он не может выбрать контрсчёт. Решение, что платёж относится к 4930, а не к 6815, требует знания, которого не несёт ни одна банковская выписка: за что был платёж, к какому проекту, вычитается ли он. Строка выписки говорит «SumUp Payments Ltd» и больше ничего.

Поэтому каждая строка проводится против единственного Gegenkonto, который вы задали, а разносить их в DATEV — работа бухгалтера, и этот инструмент не притворяется, что делает её. А что он действительно делает, так это заносит в файл даты, суммы, направления и текст — верно и со сверкой остатков за ними.

Проверьте сами

Скачанный файл — текстовый. Откройте его: первая строка — заголовок с вашими номерами консультанта и клиента и с окном дат, вторая — 125 названий колонок, а каждая следующая строка — одна проводка. Сверьте строку с выпиской, из которой она вышла, — сумму, TTMM, S или H, — прежде чем отправлять что-либо своему консультанту.