Німецькі криптоінвестори стикаються з жорсткими вимогами до податкової звітності: 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 — впливає на податок.
- Відсутність полів 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). Працюємо за договором, гарантуємо результат. Зв'яжіться з нами, щоб обговорити ваш проект.







