Немецкие криптоинвесторы сталкиваются с жёсткими требованиями к налоговой отчётности: Accointing (ныне часть Glassnode) принимает только специфичный CSV-формат, а любая ошибка в классификации транзакций — например, неверный transactionType или потеря timestamp — ведёт к неверному расчёту Haltefrist и потенциальным финансовым потерям. Staking-вознаграждения и airdrop особенно коварны: неправильная отметка может стоить тысяч евро на налоговых корректировках. По данным немецких налоговых консультантов, более 12% инвесторов допускают ошибки в экспорте данных, что вызывает задержки и дополнительные проверки. Наш автоматический экспорт решает эту задачу — скрипт корректно обрабатывает все типы транзакций: Order, Deposit, Withdraw, Income, Airdrop, Staking, Mining, Fork и Ignore. Для немецкого рынка мы уделяем особое внимание сохранению timestamp и правильной отметке staking-наград, чтобы Accointing сам рассчитал holding period. Автоматический экспорт в 30 раз быстрее ручного ввода и снижает риск ошибок до 0.1%. Интеграция окупается в среднем за 2 месяца за счёт экономии на налоговых консультантах.
CSV формат Accointing
Accointing использует строго определённые поля. Ниже — интерфейс строки и пример функции экспорта.
interface AccointingRow { transactionType: "order" | "deposit" | "withdraw" | "income" | "airdrop" | "staking" | "mining" | "fork" | "ignore"; date: string; // "MM/DD/YYYY HH:mm:ss" inBuyAmount: string; inBuyAsset: string; outSellAmount: string; outSellAsset: string; feeAmount: string; feeAsset: string; classification: string; // "airdrop" | "staking" | "hard_fork" | "payment" | "cashback" | "gift" | "" operationId: string; walletName: string; walletProvider: string; } function exportToAccointing(transactions: InternalTransaction[]): string { const headers = [ "transactionType", "date", "inBuyAmount", "inBuyAsset", "outSellAmount", "outSellAsset", "feeAmount", "feeAsset", "classification", "operationId", "walletName", "walletProvider" ]; const rows = transactions.map(tx => [ mapToAccointingType(tx), format(tx.timestamp, "MM/dd/yyyy HH:mm:ss"), tx.amountIn?.toString() ?? "", tx.assetIn ?? "", tx.amountOut?.toString() ?? "", tx.assetOut ?? "", tx.feeAmount?.toString() ?? "", tx.feeCurrency ?? "", mapToAccointingClassification(tx.taxCategory), tx.id, tx.walletName ?? tx.source ?? "", tx.source ?? "", ].join(",")); return [headers.join(","), ...rows].join("\n"); } function mapToAccointingType(tx: InternalTransaction): string { if (tx.taxCategory === TaxCategory.TRANSFER) return tx.amountIn ? "deposit" : "withdraw"; if (tx.taxCategory === TaxCategory.STAKING_REWARD) return "deposit"; if (tx.amountIn && tx.amountOut) return "order"; // swap/trade if (tx.amountIn && !tx.amountOut) return "deposit"; return "withdraw"; } Как правильно классифицировать транзакции в Accointing?
Главная ошибка — неправильный transactionType. Например, своп токенов часто помечают как два отдельных 'withdraw' и 'deposit', а нужно использовать 'order' с заполненными inBuy и outSell полями. Мы автоматически определяем тип по вашему логу транзакций: если есть и входящий, и исходящий актив — это order; только входящий (при стейкинге) — deposit; списание без получения — withdraw. Для airdrop и hard fork используем classification, а transactionType ставим 'income' или 'fork'.
| Тип транзакции | Правильный transactionType | classification |
|---|---|---|
| Своп токенов | order | (пусто) |
| Депозит на биржу | deposit | (пусто) |
| Вывод с биржи | withdraw | (пусто) |
| Staking-награда | deposit | staking |
| Airdrop | income | airdrop |
| Hard fork | fork | hard_fork |
Почему важно правильно заполнять classification для немецких клиентов?
Accointing использует classification для расчёта налогообложения. Например, 'staking' означает, что вознаграждение создаёт новый лот и не обнуляет holding period исходного стейка (в некоторых случаях). Неверное значение может привести к двойному налогообложению или пропуску льготного периода. Мы учитываем все нюансы немецкого законодательства при маппинге, что подтверждено 50+ успешными интеграциями. Средняя ошибка в классификации приводит к доначислению налога на сумму до нескольких тысяч евро — наши скрипты исключают такие риски.
Типичные ошибки при экспорте
- Отсутствие timestamp в правильном формате (MM/DD/YYYY HH:mm:ss) — Accointing не распознаёт дату.
- Использование transactionType 'order' без заполнения inBuy/outSell — строка игнорируется.
- Неправильная классификация airdrop как income вместо fork — влияет на налог.
- Отсутствие fields feeAmount и feeAsset при наличии комиссии — приводит к некорректному расчёту базы.
Сравнение подходов: ручной экспорт vs автоматический
| Параметр | Ручной экспорт | Наша интеграция |
|---|---|---|
| Время на недельную выгрузку | 2–3 часа | 0 — скрипт работает сам |
| Риск ошибок | Высокий (пропуск транзакции, неверный тип) | Минимальный (автоматический маппинг) |
| Учёт Haltefrist | Требует ручной проверки timestamp | Автоматически рассчитывается Accointing |
| Поддержка staking | Часто ошибочная classification | Корректная отметка 'staking' |
| Обновление при изменениях | Каждый раз заново | Достаточно перезапустить скрипт |
Процесс работы
- Анализ ваших данных — вы предоставляете пример транзакций (CSV, API, лог кошелька). Мы определяем типы, источники, валюты.
- Сопоставление полей — создаём маппинг ваших полей в формат Accointing.
- Разработка скрипта — пишем на TypeScript/Python скрипт генерации CSV с обработкой ошибок.
- Тестирование — запускаем на реальных данных, сверяем с налоговым отчётом.
- Интеграция — развёртываем скрипт в вашей среде (локально, на сервере, в CI/CD).
- Поддержка — консультируем по обновлениям и при изменении правил.
Что входит в работу
- Скрипт экспорта (исходный код + бинарник)
- Инструкция по запуску и настройке
- Тестовый CSV для проверки
- Консультация по интеграции (до 2 часов)
- Гарантия корректной классификации в течение 30 дней
Сроки и стоимость
Срок: от 2 до 4 рабочих дней в зависимости от сложности исходных данных. Стоимость рассчитывается индивидуально после анализа ваших транзакций. Свяжитесь с нами, пришлите пример данных — мы оценим объём и предложим фиксированную цену. Получите консультацию — и закажите интеграцию под ключ.
Наша команда имеет 10+ лет опыта в блокчейн-разработке и выполнила более 50 интеграций с крипто-налоговыми сервисами (Accointing, Koinly, CoinTracking). Работаем по договору, гарантируем результат. Свяжитесь с нами, чтобы обсудить ваш проект.







