Транзакції
Один рух грошей: що містить кожна транзакція, чим відрізняються три її типи й чому статус і тип відповідають на різні запитання.
Що таке транзакція
Транзакція означає один рух грошей. У ній записані сума, валюта цієї суми, дата, гаманець, через який гроші пройшли, і коментар, якщо він вам потрібен. Усі інші цифри в SavingStat складаються з таких записів.
Насправді сум у ній дві, а не одна: скільки рух коштував у власній валюті і скільки вийшло у валюті гаманця. Поки валюти збігаються, а так буває здебільшого, це одне й те саме число. Стаття Валюти пояснює, чому зберігаються обидві суми, а не одна, конвертована з іншої.
Що ще міститься в транзакції, залежить від того, до якого з трьох типів вона належить.
Три типи
Тип каже, яким був рух, і від нього залежить, що ще може містити запис.
- Витрата: гроші виходять. Вона містить один або кілька рядків витрати, і саме в рядку сидять категорія, бюджет і, за бажанням, подія. Вони належать рядку, а не платежу загалом.
- Дохід: гроші надходять. Він містить джерело доходу, з якого гроші прийшли, і теж може називати подію.
- Переказ: гроші переходять між двома вашими гаманцями. Він містить гаманець-отримувач і суму, яка справді туди дійшла: її ви вводите самі, а не отримуєте конвертованою.
У переказу немає ні категорії, ні бюджету. Нічого не зароблено й нічого не куплено, тож позначати нічого, а запису нікуди це покласти. Про решту читайте в статті Як записати переказ.
Статус відповідає на інше запитання
Тип і статус лежать на двох різних осях, і транзакція завжди має по одному значенню на кожній. Тип каже, яким був рух. Статус каже, на якому етапі запис. Чернетка витрати поєднує обидва: витрата на одній осі, чернетка на іншій. Знаючи одне, ви ще не знаєте іншого.
Чернетка означає, що рядок з’явився з імпорту і ще не опублікований. Він лежить поза вашими даними: у списку транзакцій його немає, і жоден баланс гаманця через нього не змінився. Вийти з цього стану можна лише публікацією, і дороги назад немає.
Завершено означає звичайний стан усього іншого. Доходи й перекази потрапляють туди одразу після публікації: у них не лишається нічого, що треба дорахувати.
Решта три стосуються лише витрат, і всі три зводяться до тієї самої арифметики: чи дають рядки витрати суму самої транзакції. Очікує означає, що рядки не дають нічого взагалі, зазвичай тому, що жодному з них ще не поставили суму. Частково означає, що вони дають менше за платіж. Понад бюджет означає, що більше. Остання назва вводить в оману: вона не про вміст бюджету, і жоден бюджет її не спричиняє. Докладніше про це в статті Бюджети.
Суму перераховують щоразу, коли рядок додають, змінюють або вилучають, тож недороблений розподіл сам про себе скаже. До чернетки це не застосовується взагалі: арифметика вперше спрацьовує в момент публікації.
Розподіл одного платежу
Один платіж часто покриває кілька речей. Похід у супермаркет наполовину складається з продуктів, а наполовину з чогось для квартири; один платіж карткою може половиною належати одному бюджету, а половиною іншому. Саме тому витрата тримає рядки, а не одну категорію: у кожного рядка власна сума і власні категорія, бюджет, подія та коментар.
Рядки живуть на сторінці самої транзакції в блоці Деталі витрати: там рядок можна відкрити й виправити, вилучити або додати поруч ще один.
Саме ці рядки й читають три арифметичні статуси. Вони не оцінюють ваші витрати, а повідомляють, чи сходиться зроблений вами розподіл із платежем, з якого він походить. Підженіть рядки під суму, і транзакція покаже «Завершено».
Файли, прикріплені до транзакції
Транзакція може нести файли: виписку чи фотографію, з якої її прочитав імпорт, чек, доданий пізніше, рахунок. Вони беруться з вашої бібліотеки файлів, і після прикріплення файл у ній і залишається.
Спільний доступ налаштовується для кожного вкладення окремо, а не для транзакції загалом. У кожного файлу на транзакції є власний перемикач зі значенням Спільний або Приватний, і файл, який ви прикріпили самі, спочатку приватний. Приватний означає, що лише ви бачите його у списку й можете завантажити. Спільний відкриває саме цей файл учасникам бюджету, до якого віднесена транзакція, якщо вони прийняли запрошення. Спільним стає лише цей файл: не транзакція й не інші файли на ній.
Бюджет у цьому правилі береться з самої транзакції, а ставить його імпорт, коли розкладає рядок. Транзакція, введена вручну, тримає бюджет у рядках витрати, а їх це правило не читає.
Перемикач бачить лише власник. Учасники отримують спільні рядки й нічого більше, тож перемикати їм нічого. Імпорт виставляє його за вас, і по-різному залежно від виду файлу: скан чека прикріплюється спільним, а файл виписки приватним, адже в ньому далеко не один рядок.