# Імпортування та експортування

&Tony.Bloomfield; &Tony.Bloomfield.mail; &Jack.H.Ostroff; &Jack.H.Ostroff.mail;

## Інструмент імпортування &gnucash;

### Файли &gnucash;

Засіб імпортування з &gnucash; &kmymoney;, як відомо, обробляє безпосереднє читання стандартних файлів (&XML;), створених у &gnucash; версій 1.8 і 2.0. Файл із останніх версій також має бути імпортовано без проблем. Підтвердити це офіційним тестуванням на останніх версіях ми не можемо, але у списку листування розробників &devlist; маємо звіт щодо успішного імпортування файла з &gnucash; 5.3. Втім, не передбачено підтримки таких можливостей:

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

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

- імпортування до наявного файла &kmymoney;

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

- експортування до файлів &gnucash;.

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

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

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

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

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

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

#### Рахунки

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

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

##### Категорії

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

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

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

##### Карта типів ресурсів

Тип &gnucash; | Тип &kmymoney;
`BANK` | `Чековий`
`CHECKING` | `Чековий`
`SAVINGS` | `Ощадний`
`ASSET` | `Активи`
`CASH` | `Готівка`
`CURRENCY` | `Готівка`
`MONEYMRKT` | `MoneyMarket`
`STOCK` | `Капітал`
`MUTUAL` | `Капітал`
`Маржа` | `Маржа`
`LIABILITY` | `Пасиви`
`CREDIT` | `Кредитна картка`
`INCOME` | `Прибуток`
`EXPENSE` | `Витрата`
`RECEIVABLE` | `Активи`
`PAYABLE` | `Пасиви`

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

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

В обох програмах дані вводяться у формі операцій, кожна з яких, загалом кажучи, складається з 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`, замість нього завжди використовуватиметься «рідний» спосіб отримання даних.

Вибір джерела імпортованих gnucash цін Вибір джерела імпортованих gnucash цін

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

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

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

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

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

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

- деякі з проміжків розкладу, які підтримуються у &gnucash; ще не реалізовано у &kmymoney;

- &kmymoney; не підтримує використання формул і змінних у полях рахунків

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

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

#### Звіти

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

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

Параметри імпортування з gnucash Параметри імпортування з gnucash

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Звіт засобу імпортування даних gnucash Звіт засобу імпортування даних gnucash
&Thomas.Baumgart; &Thomas.Baumgart.mail; &Jack.H.Ostroff; &Jack.H.Ostroff.mail;

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

### Формат QIF вважається шкідливим

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

- Відсутність стандартизованого формату. У різних версіях однієї програми одному елементу може бути надано різних значень.

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

- Недостатня виразність. Словник формату дуже простий і не може відтворити всю глибину сучасних фінансових даних.

Загалом кажучи, це і є причини, з яких Intuit припинила підтримку роботи з вхідними даними у форматі QIF у Quicken 2005. Якщо ви можете вибирати формат отримання даних, наприклад можете вибрати OFX, не використовуйте формат QIF.

### Як імпортувати файл QIF?

Щоб імпортувати файл QIF, спочатку переконайтеся, що відкрито коректний файл &kmymoney;. Потім скористайтеся пунктом меню Імпортувати QIF... з меню Файл.

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

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

Зуважте, що у &kmymoney; існують відмінності між імпортом файла виписки банку і файла даних журналу, експортованих іншою програмою. Файл виписки банку не обов'язково містить усі дані, які пов'язано із одною випискою банку; у ньому можуть міститися дані лише однієї або декількох операцій. Типовим є імпортування файла банківської виписки. Якщо ви імпортуєте дані з вашої попередньої програми для ведення фінансового обліку, позначте відповідний пункт.

Далі вам слід вибрати профіль QIF для імпортування. Оскільки не існує загальновизнаного стандарту щодо запису файлів QIF, виробники програмного забезпечення припускаються певних довільних тлумачень у цьому форматі та додають власні нюанси. За допомогою профілю QIF ви можете повідомити &kmymoney; про особливості вашого файла. Загалом типовий профіль QIF має працювати з більшістю файлів QIF. У деяких випадках може виникнути потреба у використанні модифікованого профілю QIF. Перегляньте наступний розділ, щоб дізнатися більше про це питання.

Натисніть кнопку Імпортувати, щоб наказати програмі імпортувати файл QIF.

У відповідь &kmymoney; розпочне сканування файла для визначення форматів, використаних для представлення дат і чисел. Якщо програмі не вдасться однозначно визначити формат дати, &kmymoney; попросить користувача обрати один з форматів зі списку можливих форматів дати.

Далі, &kmymoney; імпортує дані і створює всі потрібні об'єкти, зокрема записи даних отримувачів, рахунки і записи категорій, записи даних щодо курсів. Якщо це можливо, буде зроблено спробу встановити відповідність наявних записів до імпортованих відомостей, щоб запобігти дублюванню записів операцій. Під час процедури імпортування буде показано панель поступу.

Якщо &kmymoney; не вдасться визначити назву рахунку, до якого слід виконати імпорт, програма попросить користувача обрати запис рахунку, куди буде імпортовано дані. Якщо у вашому файлі ще немає запису цього рахунку, ви можете створити рахунок натисканням кнопки Створити.

Наприкінці процедури імпортування &kmymoney; покаже вікно статистичних даних щодо імпортування виписки.

Статистичні дані імпортування виписки qif Статистичні дані імпортування виписки qif

Після імпортування всі імпортовані записи у перегляді облікової книги буде позначено жовтим тлом. Якщо &kmymoney; вдасться встановити відповідність імпортованого запису операції з вже наявним записом операції, колір тла буде змінено на світло-зелений.

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

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

### Пошук відповідних операцій

Як ми вже раніше вказували, одним з основних недоліків формату QIF є відсутність унікального ідентифікатора для кожної операції. Отже, якщо під час імпортування файла QIF деякі з записів операцій збігатимуться з записами операцій, які вже є у вашій обліковій книзі, ви можете отримати дублікати. &kmymoney; намагається запобігти утворенню таких дублікатів шляхом виявлення записів операцій, які є подібними до записів, вже присутніх у списку операцій. Програма знайде дублікати за вказаними вами параметрами і відкине зайві записи.

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

### Створення фільтра імпортування

Іноді ви можете зіткнутися з даними у нетиповому форматі, наприклад у форматі значень, відокремлених комами, (CSV) або якомусь іншому форматі. З версії 4.6 до складу &kmymoney; включено додаток імпортування CSV, але ви можете імпортувати до &kmymoney; дані у інших форматах за допомогою фільтра імпортування QIF. Фільтром буде написана вами програма, яка отримає дані з імпортованого файла і створить на виході файл QIF. Цією програмою може бути скрипт оболонки, скрипт мовою Perl, зібрана програма, написана мовою C/C++, або будь-який інший інструмент обробки. Достатньо лише, щоб система могла його запустити. Фільтр буде запущено з вхідним файлом як stdin, а stdout вважається дійсним файлом qif для передачі фактичному засобу імпортування QIF.

Щоб скористатися фільтром, відкрийте вікно редагування свого улюбленого профілю QIF або створіть новий профіль (докладніше про профілі QIF див. у наступному розділі) і виберіть вкладку «Фільтр». Введіть повний шлях до вашої програми-фільтра у полі Розташування фільтра введення або натисніть піктограму навігації поруч із полем і перейдіть до фільтра у вікні Відкрити файл.... Потім, щоразу, коли ви виконуватимете імпортування QIF за допомогою цього профілю, файл, який ви вибрали для імпортування, спочатку проходитиме крізь ваш фільтр. Зауважте, що поле розташування фільтра міститиме повний шлях до програми або скрипту фільтра, але також може містити параметри командного рядка для програми.

Далі, якщо ви хочете, вибирати у діалоговому вікні Відкрити файл... вхідний файл для фільтрування конкретного типу файлів, введіть розділений комами список фільтрів файлів (наприклад, *.abc,*.xyz) у поле Вхідний фільтр за типом файлів. У наведеному вище прикладі, коли ви відкриваєте файл для імпорту за допомогою цього профілю, ви побачите лише файли, назви яких закінчуються на abc або xyz. Якщо залишити поле порожнім, фільтрація імен не виконуватиметься, і ви побачите всі файли.

Часто виникає проблема з перетворенням списку відокремлених комою значень на файл QIF. Перед додаванням додатка засобу імпортування CSV &kmymoney;, це був приклад з підручника для користування програмою `awk`. Ми скористаємося цим прикладом у нашому підручнику, просто щоб продемонструвати принципи роботи фільтра імпортування. Створіть скрипт з назвою `csv2qif.awk`, який складатиметься з таких двох рядків:

    BEGIN { FS=","; print "!Type:Bank" }

        { print "D"$1; print "T"$2; print "N"$3; print "P"$4; print "M"$5; print "^" }

Після цього змініть ключі QIF (D,T,N,P,M) так, щоб їх порядок відповідав порядку полів у ваших даних CSV. Встановіть фільтр вхідних даних `awk -f csv2qif.awk`.

Іншою проблемою, з якою ви можете зіткнутися, є кодування файлів QIF. Програма &kmymoney; вважатиме, що типовим кодуванням файлів є UTF8. Якщо ваш файл закодовано у якийсь інший спосіб, варто спочатку перетворити його на файл у кодуванні UTF8. Наприклад, щоб перетворити файл з кодування iso-8859-1, вам слід вказати фільтр-команду `recode iso-8859-1..utf-8`.

### Особливі додатки QIF &kmymoney;

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

## Профілі QIF

Щоб відредагувати наявний профіль QIF або створити новий, відкрийте діалогове вікно засобу імпортування QIF, вибравши &Ctrl;&Shift;, Параметри Налаштувати &kmymoney;... у головному меню, натиснувши кнопку Додатки у нижній частині лівої панелі та натиснувши &configicon;. Налаштуйте запис для Засобу імпортування QIF.

Зауважте, що оскільки засіб імпортування QIF і засіб експортування QIF реалізовані як окремі додатки, у діалоговому вікні налаштовування додатків для кожного є окремі пункти. Налаштування будь-якого з них викликає те саме діалогове вікно редактора профілів.

Редактор профілів QIF, вкладка «Загальне» Редактор профілів QIF, вкладка «Загальне»

Ліворуч розташовано засіб вибору профілю зі списком усіх наявних профілів QIF; виберіть один, щоб змінити його налаштування. Щоб створити новий профіль, натисніть кнопку Створити. Ви можете перейменувати наявний профіль, позначивши його у списку профілів і натиснувши кнопку Перейменувати, і вилучити профіль за допомогою кнопки Вилучити. Натискання кнопки Скинути повертає стандартні значення усіх полям поточного профілю.

Праву частину вікна поділено між чотирма вкладками.

На вкладці Загальне міститься поле для опису фільтра, кілька полів для визначення того, чого має очікувати &kmymoney; у певних полях файла QIF, виведеного фільтром, та пункт, який повідомляє &kmymoney;, чи слід намагатися зіставити подібні операції, щоб уникнути появи дублікатів.

Редактор профілів QIF, вкладка «Фільтри» Редактор профілів QIF, вкладка «Фільтри»

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

Редактор профілів QIF, вкладка «Дата» Редактор профілів QIF, вкладка «Дата»

Вкладка Дата в першу чергу стосується експортування QIF, оскільки &kmymoney; зазвичай може визначити формат дати, досліджуючи фактичні дані. Основна мета — визначити порядок частин дати та роздільник, який їх відокремлює.

Оскільки формат QIF не стандартизовано, неможливо точно визначити, яким є типове сторіччя, якщо рік зазначено двома цифрами. У файлах QIF із двома цифрами року існує передбачуване типове сторіччя, а апостроф використовується як роздільник року, щоб вказати, що запис перебуває в ІНШОМУ столітті. Однак, оскільки запис не стандартизовано, для визначення типового сторіччя використовується поле Обробка апострофа, яке вказує на відповідне сторіччя, коли апостроф використовується як роздільник року. Наприклад, вам слід встановити значення формату апострофа як «2000-2099», щоб дати з апострофом вважалися датами після 2000 року. У такому разі дати без апострофа вважатимуться датами двадцятого сторіччя (1900-1999 роки).

Редактор профілів QIF, вкладка «Суми» Редактор профілів QIF, вкладка «Суми»

Дані з вкладки Суми буде використано під час експортування QIF для визначення символу відокремлення десяткового дробу і роздільника тисяч. Однак вам потрібно вказати їх для кожного рядка у файлі QIF, який може містити суму. Щоб змінити ці параметри, натисніть один із рядків у верхній частині вікна, а потім скористайтеся спадними меню нижче, щоб вибрати символи, які будуть використовуватися.

## Інструмент експортування QIF

Щоб експортувати один з ваших рахунків до файла QIF, скористайтеся пунктом Експортувати QIF з меню Файл. Програма запитає вас про те, який з окремих рахунків слід експортувати, файл, до якого слід виконати експорт, та профіль QIF, яким слід скористатися для експортування.

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

Інструмент експортування QIF Інструмент експортування QIF

Засіб експортування QIF використовує профілі QIF подібно до засобу імпортування QIF, але використовує далі у профілі для форматування записаного файла QIF, а не для обробки читання файла. Паралельно з засобом імпортування ви можете використовувати спеціальну написану програму фільтрування. На вкладці «Фільтр» редактора профілів QIF є окреме поле для вихідного фільтра, тому ви можете використати той самий профіль QIF для імпортування і для експортування, але використати окремий фільтр для цих двох процедур.

&Ace.Jones; &Ace.Jones.mail; &Thomas.Baumgart; &Thomas.Baumgart.mail; &Jack.H.Ostroff; &Jack.H.Ostroff.mail;

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

Засіб імпортування OFX був одним із перших компонентів &kmymoney;, який було написано як додаток. На той час у початковому коді було лише кілька додатків, і вони не завжди входили до версій, створених для дистрибутивів &Linux;, тому іноді користувачам доводилося збирати додатки самостійно. На сьогодні таке трапляється дуже нечасто, але можете переглянути розділ про додатки, щоб дізнатися більше. На сьогодні багато можливостей, які вважаються основними частинами &kmymoney; реалізовані як додатки, тому цей факт не завжди згадують у цьому підручнику там, де наведено обговорення цих можливостей. Див. також розділ Додатки у розділі «Налаштування».

### Для чого призначено OFX

OFX є абревіатурою від «Open Financial Exchange» (відкритий обмін фінансовими даними). Відповідно до сайта робочої групи з OFX, «Open Financial Exchange (OFX) є відкритим стандартом для систем клієнт-сервер і хмарних програмних інтерфейсів для обміну фінансовими даними і виконання фінансових операцій між фінансовими установами та фінансовими програмами.» Специфікація визначає формати передавання фінансових даних за допомогою файлів та безпосереднього обміну даними. Додаткові відомості щодо історії питання можна знайти на сторінці Вікіпедії.

Хоча стандарт OFX є набагато повнішим та стійкішим за QIF, у ньому усе ще є певна невизначеність. Отже його робота залежить від окремої реалізації фінансовою установою. Назви файлів OFX можуть мати суфікс «OFX» або «QFX» (великими або малими літерами). Використання певного суфікса не накладає ніяких окремих обмежень на вміст файла. Специфікацію спочатку було засновано на SGML, а свіжіші версії засновано на XML, отже такі файли можна читати у будь-якому текстовому редакторі. Втім, оскільки використання пробілів не впливає на дані, у деяких реалізаціях пробіли не використовуються взагалі, що робить читання таких файлів людиною доволі важкою справою.

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

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

### Імпортування даних OFX

Стандарт OFX визначає впорядкування та форматування фінансових даних, але ці дані можуть існувати як звичайний файл або як потік даних між двома комп'ютерами. Найпростіший спосіб отримати дані OFX — це отримати їх із вашого банку чи іншої фінансової установи у форматі файла OFX. У більшості випадків, коли ви входите на сайт банку, на сторінці, яка показує ваші операції, є кнопка або посилання для отримання цих даних. Там може бути OFX або QFX, або ви можете надіслати запит щодо даних для Quicken або Web Connect (додаткову інформацію щодо цього терміну див. нижче). Ви також можете вказати діапазон дат операцій для отримання (хоча це іноді обмежується періодами узгодження доступних виписок), а також фільтрування за типом операції.

Якщо ви отримали файл OFX з інтернету, основним способом імпортування файла OFX є вибір інструменту імпортування за допомогою панелі меню. У меню Файл оберіть пункт Імпортувати, а потім пункт OFX.... Якщо у підменю «Імпортувати» немає пункту OFX, додаток імпортування OFX не було встановлено належним чином або не було увімкнено. Будь ласка, зверніться до попереднього розділу цього підручника.

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

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

У цьому розділі описано «рідний» для програми інструмент імпортування OFX. Крім нього, файли OFX може бути імпортовано за допомогою додатка імпортування AqBanking. Поведінка цих двох інструментів імпортування буде дещо різною, їх написанням та супроводом переймаються зовсім різні люди.

### Імпортування даних щодо інвестування

Будь ласка, зауважте, що якщо ви імпортуєте файл з записами щодо операцій з інвестування, ці записи від початку мають міститися у вашому файлі &kmymoney;. Для встановлення відповідності використовується стандартний символ акції, отже переконайтеся, що цей символ у &kmymoney; точно збігається з символом у файлі, який ви імпортуєте.

### З'єднання з мережею

Замість явного отримання файла OFX з інтернету, як описано вище, простішим способом імпортування файла OFX є налаштовування Web Connect. Відвідайте сайт свого банку та натисніть кнопку або посилання, щоб отримати свої дані як файл OFX. (Деякі установи показуватимуть лише QFX, що є еквівалентом.) Ваш браузер має запитати, чи хочете ви зберегти файл, або яку програму ви хочете використати, щоб відкрити файл. Перейдіть у браузері до &kmymoney;. Програма імпортує отриманий файл OFX безпосередньо до файла &kmymoney;, відкритого у програмі, або файла, відкритого останнім. Ви також можете змінити прив'язку файлів у стільничному середовищі і налаштувати систему на автоматичне відкриття &kmymoney;, якщо ви натиснете пункт файла OFX у вашій програмі для керування файлами.

Якщо вам потрібно імпортувати файл OFX у якийсь інший файл &kmymoney;, спочатку завантажте файл даних до &kmymoney;, а потім відвідайте сторінку вашого банку.

### Безпосереднє з'єднання

У &kmymoney; також передбачено підтримку OFX Direct Connect. Це надає змогу &kmymoney; зв'язатися безпосередньо з банком, щоб отримати дані операцій, за умови, що таку підтримку передбачено на сторінці банку.

Зверніть увагу: підтримку OFX Direct Connect передбачено не на усіх сайтах банків, а на тих, де її передбачено, часто використовують програмне забезпечення, яке надається та підтримується сторонніми компаніями, а ці сторонні компанії часто надають підтримку лише користувачам спеціального комерційного програмного забезпечення для керування фінансами. У &kmymoney; не передбачено підтримки безпосередньої роботи з жодним банком, тому вам, можливо, доведеться повідомити їм, що ви хочете працювати з банком безпосередньо з MS Money або Quicken. Крім того, на сайті OFX Work Group, згаданому вище, також зазначено, що Крім того, програмний інтерфейс надає змогу здійснювати обмін даними або безпосередньо, або через посередника, наприклад постачальників послуг агрегації даних. Користувачі повідомляли, що банки, які перейшли на використання таких постачальників послуг агрегації, нададуть будь-яку підтримку ще з меншою ймовірністю, якщо ви не використовуєте одну з комерційних програм.

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

Якщо у вас працює Direct Connect, ви зможете оновлювати свої записи, отримуючи дані останніх операцій одним натисканням кнопки. Якщо це не спрацює з першої спроби, ви можете знайти легке вирішення своєї проблеми або може знадобитися багато досліджень, і немає гарантії, що це спрацює в будь-якій конкретній ситуації. Однак, будь ласка, не сприймайте нічого з цього як причину не спробувати.

На першому кроці вам слід налаштувати всі рахунки, для яких ви маєте намір отримувати записи операцій. Переведіть програму у режим перегляду рахунків, наведіть вказівник миші на позначку рахунку, який ви бажаєте налаштувати, клацніть правою кнопкою миші і виберіть пункт Пов'язати з мережевим рахунком. Цим пунктом також можна скористатися у меню Рахунок, якщо рахунок відкрито на панелі облікової книги. Якщо у вашій системі встановлено декілька додатків для роботи з банківськими установами за допомогою мережі, програма запитає вас про те, який з них слід використовувати. Якщо ви маєте намір використовувати вбудовану обробку OFX, оберіть пункт KMyMoney OFX. Програма отримає список банків з інтернету. За допомогою майстра ви зможете обрати назву банківської установи, ввести ім'я користувача і пароль та обрати рахунок. Якщо ви не знайдете потрібного вам банку у списку, ви зможете ввести його параметри вручну. Ваш банк має надавати потрібні програмі дані. Крім того, можливо, вам вдасться віднайти спосіб отримання цих даних власноруч.

Як ми вже згадували вище, налаштовування безпосереднього обміну даними OFX іноді може бути непростою справою, особливо через те, що реалізація протоколу у більшості установ не передбачає надання достатніх подробиць у повідомленнях про помилки. Ще однією з проблем є те, що у багатьох установах вимагають змінювати пароль під час першого ж сеансу доступу за допомогою інтернету, якщо використовується цей метод. На жаль, у поточній версії бібліотеки, яка використовується у &kmymoney;, (libofx) не передбачено можливості інтерактивної зміни пароля. Інколи вдається змінити пароль за допомогою працівників служби підтримки. Доки нам не вдасться розширити відомості цього розділу докладнішим описом способів усування вад, якщо у вас виникатимуть проблеми із безпосередніми обміном даними, ви можете попросити про допомогу у списку листування розробників &kmymoney;, &devlist; або на якомусь іншому каналі підтримки.

Після того, як ваш рахунок буде налаштовано для мережевої роботи з банком, перейдіть до облікової книги цього рахунку і виберіть у меню Рахунок виберіть пункт Оновити рахунок…. Програма з'єднається з вашим банком і отримає дані ваших нещодавніх операцій. Дані щодо того, як налаштувати діапазон дат для отримання даних, наведено у наступному розділі.

У попередніх версіях &kmymoney; назва отримувача завжди визначалося за полем `PAYEEID` у даних OFX. З версії 4.6 назва отримувача під час операції з OFX визначається на основі одного з полів `PAYEEID`, `NAME` або `MEMO`. У наступному розділі наведено дані щодо того, як налаштувати цю можливість та деякі інші параметри безпосереднього з'єднання OFX.

### Налаштування параметрів імпортування у форматі OFX

Це було описано раніше, у розділі щодо редагування параметрів рахунку.

### Експортування файла OFX

У поточній версії ще не передбачено можливості експортування ваших даних до файла OFX. Якщо ви можете допомогти у створенні такого інструменту експорту, будь ласка, зв'яжіться з командою розробки libofx, щоб дізнатися більше.

&details-impexp-csv; &details-impexp-woob;