Розділ 16. Імпортування та експортування

Ace Jones

Jack H. Ostroff

версія 5.1.2 (6 червня 2022 року)

Інструмент імпортування GnuCash

Tony Bloomfield

Файли GnuCash

Інструмент імпортування KMyMoney з GnuCash виконує безпосереднє читання стандартних файлів (XML), створених за допомогою GnuCash версій 1.8 і 2.0. Не підтримуються такі можливості:

  • імпортування бази даних (Postgres)

  • імпортування файлів «багатотомної» книги

  • імпортування до існуючого файла KMyMoney

  • імпортування даних малого бізнесу (працівники, інвойси тощо)

  • експортування до файлів GnuCash.

Ймовірно, імпортування відбудеться належним чином, лише якщо надано коректний файл. Рекомендуємо вам виконати операцію Перевірити і виправити все у GnuCash (з меню Дії), перш ніж виконувати імпортування.

Файли можна відкривати за допомогою визначення файла у командному рядку (kmymoney <шлях_до_файла>) або за допомогою пунктів меню KMyMoney ФайлВідкрити (Ctrl+O) та ФайлІмпортувати.

Подібність між двома програмними продуктами означає можливість імпортування більшості даних, з якими має справу типовий користувач, у простий і прозорий спосіб. Але існують певні області застосування програм, у яких виникають відмінності. Існує декілька способів обійти такі відмінності. У наступних розділах ми опишемо деякі з цих відмінностей та спробуємо зрозуміти, як можна імпортувати дані якнайточніше.

Подібності, відмінності і термінологія

Використання у малому бізнесі

Слід зауважити, що KMyMoney є інструментом керування особистими фінансами, а отже, не підтримує напряму будь-яких з бізнес-можливостей GnuCash, зокрема податкових таблиць, створення платіжних відомостей та стеження за лотами. Всі рахунки відрахування або отримання платежів буде імпортовано як рахунки пасивів та активів, відповідно.

Рахунки

Типи рахунків

У обох програмних продуктах найвищим рівнем структури у файлах є рахунок. У KMyMoney передбачено підтримку 5 основних типів рахунків: актив, пасив, прибутки, витрати і маржа, кожен з яких має різноманітні підтипи, наприклад чековий, кредитний тощо. У KMyMoney для кожного з цих п'яти типів існує «стандартний» рахунок: всі інші рахунки є похідними одного з цих типів. У KMyMoney підтримується послідовніший (або менш гнучкий, залежно від точки зору) підхід до розрізнення типів рахунків, ніж у GnuCash. Інструмент імпортування виправляє всі помічені непослідовності. Подібне виправлення може призвести до відхилень у структурі рахунку, але все це можна виправити після завершення імпортування.

Категорії

У KMyMoney термін «категорія» використовується для позначення належності рахунку до типу прибутків чи витрат. На відміну від GnuCash, категорії не вважаються рахунками «облікових книг», отже, підтримки безпосереднього запису операцій до категорій не передбачено: під час запису операції виконується призначення до рахунків інших типів.

Структура і заповнювачі

У GnuCash передбачено підтримку використання рахунків-заповнювачів. За суттю це призначені лише для читання рахунки, до яких не можна записувати операції, але які виконують роль, подібну до тек у структурі тек, тобто містять інші рахунки. Хоча у KMyMoney і не передбачено безпосередньої підтримки подібної можливості, можливе створення відношення підлеглості, отже інструмент імпортування імітуватиме заповнювачі створенням порожніх рахунків.

Карта типів ресурсів
Тип GnuCashТип KMyMoney
BANKЧековий
CHECKINGЧековий
SAVINGSОщадний
ASSETАктиви
CASHГотівка
CURRENCYГотівка
MONEYMRKTMoneyMarket
STOCKКапітал
MUTUALКапітал
МаржаМаржа
LIABILITYПасиви
CREDITКредитна картка
INCOMEПрибуток
EXPENSEВитрата
RECEIVABLEАктиви
PAYABLEПасиви

Операції і дроблення

Збалансовані операції

Як і у GnuCash, дані вводяться у формі операцій, кожна з яких, загалом кажучи, складається з 2 або більшої кількості записів дроблення. Фактично, коректні операції GnuCash завжди складаються з принаймні 2 дроблень. Щоб підтримувати стандарт облікових книг з подвійним записом GnuCash, ці дроблення мають бути збалансованими (тобто у сумі давати нуль). У KMyMoney також підтримується цей стандарт, який, втім, не є обов'язковим, але всі імпортовані записи операцій, які не буде збалансовано, програма позначить у обліковій книзі як такі, що мають проблеми.

Отримувачі

У KMyMoney бажано, щоб у всіх операцій був отримувач (загальний термін, який визначає як платників, так і отримувачів платежів). На відміну від GnuCash, програма спостерігає за списком цих отримувачів. Назви або імена отримувачів створюються інструментом імпортування на основі даних поля опису операції GnuCash.

Трансферти

У KMyMoney терміном «трансферт» позначається операція, за якої гроші не переходять з одної категорії до іншої, а лише пересуваються між рахунками активів і/або пасивів.

Узгодити

У KMyMoney передбачено функціональну можливість узгодження рахунку, подібну до можливості у GnuCash, отже буде імпортовано відповідні позначки стану операцій.

Доходи

У GnuCash термін «власність» використовується для позначення грошових та негрошових активів. У KMyMoney для кожного з цих активів використовується власний термін.

Валюти

У KMyMoney передбачено підтримку всіх типів іноземних валют. Крім того, KMyMoney вимагає від користувача визначення основної (базової) валюти, яка буде типовою валютою нових облікових записів. Інструмент імпортування спробує визначити найімовірнішу базову валюту, хоча цей вибір і може бути відхилено на користь альтернативної валюти.

Примітка

У поточній версії KMyMoney не передбачено підтримки рахунків у вилучених з обігу валютах (окрім валют, замінених на євро). Для роботи у поточній версії програми вам потрібно вилучити всі такі рахунки з файла GnuCash до імпортування. Розробники сподіваються усунути цю незручність у майбутніх випусках програми.

Цінні папери та інвестиції

Негрошові активи (зазвичай, акції та облігації) у KMyMoney називаються цінними паперами. У обробці цих активів полягає основна відмінність між двома програмними продуктами. У KMyMoney всі рахунки у цінних паперах мають бути підлеглими рахунками інвестиційного рахунку. Докладніше про це можна дізнатися з глави, присвяченої інвестиціям. Хоча користувач і може встановити подібне відношення між рахунками, сама програма GnuCash не визначає подібної структури, отже інструменту імпортування не вдасться виявити подібні рахунки і виконати автоматичне перетворення. Ви можете скористатися одним з трьох варіантів:

  • Створити окремий інвестиційний рахунок для кожного цінного паперу з назвою цінного паперу.

  • Створити єдиний інвестиційний рахунок, який буде «батьківським» для всіх рахунків цінних паперів.

  • Створити декілька інвестиційних рахунків і призначати до них цінні папери за вказівками користувача.

Вимоги та налаштування користувача визначають найкращий варіант у конкретній ситуації. У деяких випадках після імпортування може знадобитися зміна структури рахунків вручну.

Ціни та курси валют

Програма імпортує дані про вартість цінних паперів та обмінні курси, які показує редактор цін GnuCash. Крім того, на основі даних операцій з цінними паперами та валютами буде створено записи ціни та курсів.

Інтерактивні курси

Для отримання даних про ціни і курси з мережі GnuCash використовує пакунок Perl з назвою Finance::Quote. У KMyMoney передбачено підтримку цього пакунка для отримання курсів акцій. Цією підтримкою можна скористатися як типовою під час імпортування даних. Але ви можете скористатися і власним методом отримання даних, що підтримується KMyMoney. Цей метод докладніше описано у розділі, присвяченому інтерактивним курсам.

Якщо ви звернетеся саме до останнього способу, програма відкриє наведене нижче діалогове вікно, за допомогою якого ви зможете обрати «рідне» для KMyMoney джерело курсів або вказане вами джерело курсів для кожного з рахунків, з якими слід пов'язати курси з мережі. Але позначку біржі (тікер) під час імпортування змінено не буде. Оскільки ця позначка майже напевно буде різною у різних пакунках, вам доведеться змінити її вручну після завершення процесу імпортування. Під час наступних оновлень курсів валют програма вже не використовуватиме Finance::Quote, замість нього завжди використовуватиметься «рідний» спосіб отримання даних.

Заплановані операції

У KMyMoney не підтримується розділення GnuCash між операціями шаблонів і частотою їх виконання. Дані операцій буде здубльовано, якщо однаковий шаблон використовується у різних розкладах, але подібне дублювання навряд чи зашкодить імпортуванню.

Типи розкладу

У KMyMoney всі розклади розподіляються за трьома типами: накладні, депозити і трансферти. Оскільки у GnuCash подібного поділу не передбачено, інструмент імпортування спробує визначити тип за рахунком і напрямком руху грошей. Іноді подібне визначення призводитиме до помилкових припущень, які доведеться виправляти вручну.

Підозріливі розклади

Деякі з можливостей операцій, що виконуються за розкладом у GnuCash, не передбачено у KMyMoney, отже інструмент імпортування намагатиметься досягти розумного компромісу під час перетворення даних. Подібні операції буде позначено як підозріливі, ви зможете змінити їх вручну під час процедури імпортування. Прикладами ситуацій, які можуть спричинити подібні помилки є:

  • деякі з проміжків розкладу, які підтримуються у GnuCash ще не реалізовано у KMyMoney

  • KMyMoney не підтримує використання формул і змінних у полях рахунків

  • складні випадки, які ще не було визначено для імпортування.

Незважаючи на зусилля авторів програми, через величезну кількість задіяних факторів заплановані операції можуть спричинити критичну помилку у роботі KMyMoney. Якщо ви зіткнетеся з такою проблемою, інструмент імпортування запропонує вам відкинути всі підозріливі розклади.

Звіти

У KMyMoney передбачено широкий вибір звітів, параметри яких ви можете налаштувати власноруч. Докладніше про них можна дізнатися з розділу Звіти. Але перелік цих типів звітів не обов'язково збігається з переліком звітів, які можна створювати за допомогою GnuCash.

Вибір параметрів імпортування

Обробка інвестицій

Див. розділ «Цінні папери та інвестиції», наведений вище.

Інтерактивні курси

Зніміть позначку з цього пункту, якщо ви бажаєте використовувати природний для програми спосіб для обробки інтерактивних курсів.

Див. розділ «Інтерактивні курси», наведений вище.

Заплановані операції

Див. розділ «Заплановані операції», наведений вище.

Параметри декодування

Якщо запис вашої мови виконується літерами або символами, відмінними від тих, які використовуються у «латинських» (тобто, загалом кажучи, західноєвропейських) мовах, це буде відображено у особливий спосіб («закодовано») у вашому файлі GnuCash. Якщо програма не може належним чином показати ці літери на екрані, їх слід декодувати. У поточній версії часто неможливо точно визначити спосіб декодування, отже, можливо, вам доведеться власноруч встановити цей параметр і обрати відповідний пункт зі списку. Загалом кажучи, першим пунктом у списку буде пункт, що відповідає вашій локалі (тобто країні і коду мови, які було обрано як базові під час встановлення операційної системи), отже його слід спробувати першим. Оскільки у процесі імпортування програма не перезаписуватиме ваш файл GnuCash, ви можете спробувати будь-який з запропонованих варіантів.

Параметр нотаток до операцій

За певних умов нерозділені операції GnuCash можуть містити залишкові, часто некоректні записи приміток, які за звичайних умов невидимі для користувача. Після імпортування до KMyMoney через відмінності у параметрах показу ці дані стають видимими. Часто записи таких операцій містять поле «Нотатки», де описано справжнє призначення операції. Якщо цей пункт буде позначено, подібні нотатки, якщо їх буде виявлено, буде використано для заміни надлишкових даних приміток.

Параметри налагоджування

Потреба у цих параметрах виникне, лише якщо ви зіткнетеся з помилками під час імпортування, про які за будь-яких умов слід доповісти до списку листування KMyMoney за адресою . Зауважте, що дані, зібрані за допомогою цих параметрів можуть бути конфіденційними за своєю природою. Якщо ви маєте намір оприлюднити такі дані, скористайтеся пунктом Анонімізувати дані, що пропонуються програмою.

Імпортування звіту

Наприкінці обробки інструмент імпортування створює звіт, у якому міститимуться дані щодо кількості оброблених записів та всіх помилок та двозначностей, які виникли під час імпортування. Цей звіт буде показано на екрані, його можна буде зберегти до файла для подальшого перегляду. У повному звіті можуть міститися такі розділи:

  • Кількість записів

  • Непослідовності у типах рахунків і діях

  • Подробиці щодо підозріливих розкладів