Транзакції

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

Що таке транзакція

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

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

Що ще містить транзакція, залежить від того, до якого з трьох типів вона належить.

Три типи

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

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

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

Статус - це окреме питання

Тип і статус - це дві різні осі, і транзакція завжди має по одному значенню на кожній. Тип - це те, яким був рух. Статус - це те, на якому етапі запис. Чернетка витрати - це і те, і те водночас: витрата на одній осі, чернетка на іншій. Жодна відповідь не підказує іншої.

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

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

Решта три стосуються лише витрат, і всі три - та сама арифметика: чи дають рядки витрати суму самої транзакції. Очікує означає, що рядки не дають нічого взагалі - зазвичай тому, що жодному з них ще не поставили суму. Частково завершено означає, що вони дають менше за платіж. Понад бюджет означає, що більше. Остання назва оманлива: вона не про вміст бюджету, і жоден бюджет її не спричиняє. Бюджети розповідають про це докладніше.

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

Як розділити один платіж

Один платіж часто покриває більш ніж одну річ. Похід у супермаркет - це частково продукти, а частково щось для квартири; один платіж карткою може наполовину належати одному бюджету, а наполовину - іншому. Саме тому витрата містить рядки, а не одну категорію: кожен рядок має власну суму, власну категорію, бюджет, подію та коментар.

Рядки живуть на сторінці самої транзакції в блоці Деталі витрати, де рядок можна відкрити й змінити, вилучити або додати поруч ще один.

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

Файли, прикріплені до транзакції

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

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

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

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