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

&Tony.Bloomfield; &Tony.Bloomfield.mail;

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

### Файли &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` | `Готівка`
`MONEYMRKT` | `MoneyMarket`
`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; використовує пакунок з назвою `Finance::Quote`. У останніх версіях &kmymoney; передбачено підтримку цього пакунка для отримання курсів акцій. Цією підтримкою можна скористатися як типовою під час імпортування даних. Але ви можете скористатися і власним методом отримання даних, що підтримується &kmymoney;. Цей метод докладніше описано у розділі, присвяченому інтерактивним курсам.

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

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

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

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

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

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

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

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

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

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

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

#### Звіти

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

&Thomas.Baumgart; &Thomas.Baumgart.mail;

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Статистичні дані виписки Статистичні дані виписки

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

На наступному кроці вам слід перевірити імпортовані дані і підтвердити їх. Цей крок є спільним для всіх операцій з імпортування з будь-яких джерел. Його докладно розглянуто у окремому розділі цього підручника.

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

### Налаштування профілю QIF

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

Редактор профілів QIF

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

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

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

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

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

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

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

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

У поточній версії інструменту експортування QIF не передбачено можливості експортування даних інвестицій.

Експорт до QIF

&Ace.Jones; &Ace.Jones.mail; &Thomas.Baumgart; &Thomas.Baumgart.mail;

## Додаток імпортування OFX

### Отримання додатка

У &kmymoney; передбачено простий і точний імпорт файлів OFX. Але цю функціональну можливість не вбудовано до основної програми. Вам доведеться отримати і встановити додаток імпортування OFX. Після встановлення цього додатка, у меню Файл Імпортувати автоматично з'явиться пункт, призначений для імпортування файлів OFX.

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

Якщо ви виконували встановлення з пакунків RPM, додаток імпортування OFX міститься у kmymoney-ofx. Цей пакунок можна знайти поряд з основним пакунком RPM &kmymoney;. Якщо ви збирали програму з вихідних кодів, вам слід попередньо встановити заголовки бібліотеки та саму бібліотеку libOFX 0.9 у вашій системі. Скрипт збирання &kmymoney; виявить відповідні файли і збере потрібний вам додаток. Передбачено і підтримку libOFX 0.8.2, але у цій версії бібліотеки немає підтримки декількох цікавих можливостей. На час випуску версії &kmymoney; 4.6 найсвіжішою версією libofx була 0.9.4.

Якщо під час спроби збирання &kmymoney; у вас виникнуть проблеми і ви впевнені, що встановили належну версію libOFX, будь ласка, зверніться до списку листування розробників за адресою &devlist; по допомогу. До вашого повідомлення долучіть файл `config.log`, стиснутий за допомогою `gzip`.

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

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

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

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

### Імпортування файла OFX

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

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

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

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

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

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

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

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

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

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

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

Щоб увімкнути цю можливість, вам слід зібрати &kmymoney; з параметром налаштування ``--enable-ofxbanking`` (тепер цей параметр є типовим).

Будь ласка, зауважте: багато банків вимагають окремої підписки, надають окремі паролі або коди PIN, а також можуть стягувати окрему плату за відповідну послугу. Жоден з банків не надасть вам безпосередньої підтримки &kmymoney;. Вам слід повідомити працівникам банку, що ви маєте намір встановити безпосередній зв'язок за допомогою MS Money або Quicken.

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

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

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

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

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

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

&details-impexp-csv; &details-impexp-csvexp;

## Написання додатка з імпортування

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