Інтеграція з Accointing для податкової звітності в Німеччині

Німецькі криптоінвестори стикаються з жорсткими вимогами до податкової звітності: Accointing (нині частина Glassnode) приймає тільки специфічний CSV-формат, а будь-яка помилка в класифікації транзакцій — наприклад, невірний transactionType або втрата timestamp — веде до невірного розрахунку [Haltefr

Напрямки блокчейн-розробки

Часті запитання

Останні роботи

  • image_website-b2b-advance_0.webp
    Розробка сайту компанії B2B ADVANCE
    1450
  • image_web-applications_feedme_466_0.webp
    Розробка веб-додатків для компанії FEEDME
    1309
  • image_websites_belfingroup_462_0.webp
    Розробка веб-сайту для компанії БЕЛФІНГРУП
    1003
  • image_ecommerce_furnoro_435_0.webp
    Розробка інтернет магазину для компанії FURNORO
    1269
  • image_logo-advance_0.webp
    Розробка логотипу компанії B2B Advance
    719
  • image_crm_enviok_479_0.webp
    Розробка веб-додатків для компанії Enviok
    1010

Німецькі криптоінвестори стикаються з жорсткими вимогами до податкової звітності: 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'
Оновлення при змінах Кожного разу заново Достатньо перезапустити скрипт

Процес роботи

  1. Аналіз ваших даних — ви надаєте приклад транзакцій (CSV, API, лог гаманця). Ми визначаємо типи, джерела, валюти.
  2. Зіставлення полів — створюємо маппінг ваших полів у формат Accointing.
  3. Розробка скрипта — пишемо на TypeScript/Python скрипт генерації CSV з обробкою помилок.
  4. Тестування — запускаємо на реальних даних, звіряємо з податковим звітом.
  5. Інтеграція — розгортаємо скрипт у вашому середовищі (локально, на сервері, в CI/CD).
  6. Підтримка — консультуємо по оновленнях та при зміні правил.

Що входить у роботу

  • Скрипт експорту (вихідний код + бінарник)
  • Інструкція із запуску та налаштування
  • Тестовий CSV для перевірки
  • Консультація по інтеграції (до 2 годин)
  • Гарантія коректної класифікації протягом 30 днів

Терміни та вартість

Термін: від 2 до 4 робочих днів залежно від складності вихідних даних. Вартість розраховується індивідуально після аналізу ваших транзакцій. Зв'яжіться з нами, надішліть приклад даних — ми оцінимо обсяг та запропонуємо фіксовану ціну. Отримайте консультацію — і замовте інтеграцію під ключ.

Наша команда має 10+ років досвіду в блокчейн-розробці та виконала понад 50 інтеграцій з крипто-податковими сервісами (Accointing, Koinly, CoinTracking). Працюємо за договором, гарантуємо результат. Зв'яжіться з нами, щоб обговорити ваш проект.