Білінг-інформація – це дані, які Stripe ставить у кожен інвойс і чек: повне юридичне ім’я (або company name, якщо ви бізнес), країна, адреса, і – для B2B-клієнтів у регіонах з VAT – Tax ID. Усе це лежить в одній модалці Payment Details на сторінці Billing. Редагування – справа секунд, застосовується до наступного інвойсу (минулі immutable), і це єдине місце, щоб ще й змінити картку на файлі.

Сторінка Billing загалом

Відкрийте account.upwex.io/billing з лівого сайдбару (Account → Billing). У хедері – одна кнопка Payment Details справа і три hero-картки з summary підписки:

  • PLAN – активний тариф (Lite / Pro / Max), ціна за цикл incl. tax і дата renewal. Кнопка Switch – відкриває Pricing Plans (upgrade, downgrade, зміна циклу).
  • SEATS – скільки оплачених seat-ів у команди. Кнопка Manage – відкриває Team-сторінку (запросити, видалити, перерозподілити seat-и).
  • CREDITS – поточний баланс AI-кредитів проти місячної квоти, дата reset-у пулу. Кнопка Top Up – відкриває модалку покупки credit-pack-у.

Нижче hero – таблиця Payment History з усіма минулими інвойсами: дата, назва плану, статус, останні 4 цифри картки, сума, кнопка Invoice для скачування PDF.

Сторінка Billing Upwex: хедер Billing з кнопкою Payment Details справа; три hero-картки – PLAN (Max, місячна ціна з податком, Renews May 29, кнопка Switch), SEATS (3 seats, кнопка Manage), CREDITS (3994/4000, Resets May 29, кнопка Top Up); нижче – Payment History з п'ятьма paid-рядками інвойсів Max/Lite, Visa з останніми 1111, суми інвойсів, кожен зі своєю кнопкою Invoice

Renews vs Resets

Часто бачите “Renews May 29” на PLAN-картці і “Resets May 29” на CREDITS-картці на одну дату – це нормально. Але вони з різних джерел і можуть розходитися:

  • Renews – тягнеться зі Stripe-підписки current_period_end; це дата наступного plan-інвойсу.
  • Resets – тягнеться з AI Credit пулу credits_reset_at; це дата поповнення plan-credits.

Якщо ви змінили план серед циклу, ці дві дати можуть розійтись на один цикл, перш ніж знову зрівняються.

Відкрити модалку Payment Details

Натисніть Payment Details у правому верхньому куті Billing-сторінки. У модалці дві секції – CARD і BILLING DETAILS.

Empty state – перший раз

Якщо ви ще не вводили деталі (наприклад, свіжий trial-акаунт без картки), модалка має такий вигляд:

Модалка Payment Details у empty-стані: секція CARD читає No card on file з зеленим Add справа; секція BILLING DETAILS нижче з тогл Bill as company (off), полями FULL NAME, COUNTRY (dropdown), ADDRESS LINE 1, ADDRESS LINE 2, CITY, STATE/Province, POSTAL CODE, плюс кнопки Cancel і зелена Save внизу

  • CARD“No card on file” з зеленим лінком Add справа.
  • BILLING DETAILS – пуста форма з тогл-ом Bill as company (off) і personal-fields нижче.

Filled state – після першого save

Як тільки ви додали картку і зберегли деталі, модалка перемикається у компактний summary-вигляд:

Модалка Payment Details у filled-стані: CARD показує Visa з останніми чотирма цифрами і Exp дату, плюс зелений лінк Update справа; BILLING DETAILS показує збережене ім'я (з іконкою person) і адресу (з іконкою map-pin), плюс зелений лінк Edit справа; внизу – одна кнопка Close

  • CARDVisa **** [останні 4] з Exp [MM/YY], зелений Update для зміни картки.
  • BILLING DETAILS – ім’я (з person-іконкою) і адреса (з map-pin іконкою) на двох рядках, зелений Edit для зміни.

Замість Save з’являється кнопка Close – збережене не редагується, поки не натиснете Update чи Edit, які повертають відповідну секцію у режим форми.

Додавання чи оновлення картки

Натисніть Add (empty) або Update (filled). Секція CARD розгортається в inline Stripe-форму – номер картки, MM/YY, CVC, ZIP. Ми нікуди не редіректимо: це Stripe Elements рендериться прямо в модалці, тож дані картки йдуть напряму у Stripe і не торкаються Upwex-бекенду.

  1. Введіть або вставте дані картки.
  2. Натисніть Save Card.
  3. Stripe валідує і створює SetupIntent (на деяких картках/регіонах буде 3D Secure prompt).
  4. На успіх – картка стає дефолтним payment method для підписки, top-ups і всіх майбутніх upgrade-ів. Секція CARD згортається назад у summary (Visa **** XXXX).

Якщо картку відхилили чи 3D Secure не пройшов – форма залишається відкритою з inline-помилкою від Stripe. Спробуйте іншу картку чи зверніться у банк.

Редагування billing-деталей

Натисніть Edit (filled) або заповніть пусту форму (empty). Усі поля зберігаються в ваш Stripe customer record і з’являються на кожному наступному інвойсі.

Personal-білінг (Bill as company toggle OFF)

  • Full Name – юридичне ім’я, яке має бути на інвойсах.
  • Country – повний ISO-список 195+ країн; оберіть свою.
  • Address Line 1 / Address Line 2 – вулиця, номер будинку.
  • City.
  • State / Province – для US і Canada це sub-dropdown зі штатами/провінціями; для інших країн freeform-text.
  • Postal Code.

Company-білінг (Bill as company toggle ON)

Перемикніть тогл Bill as company у ON. Поле Full Name заміняється на:

  • Company Name – буде на кожному інвойсі (наприклад, Acme GmbH).
  • Tax ID – ваш VAT / EIN / Tax Number. Приклади: DE123456789 (Німеччина), GB123456789 (UK), 123-45-6789 (US EIN). Опціонально – лишіть пустим, якщо немає.

Поля адреси нижче – без змін.

Як валідується Tax ID

Upwex не намагається перевірити VAT-формат на фронті. При натисканні Save Tax ID разом з країною йдуть у Stripe, а той розбирається з рештою:

  1. Тип авторесолвиться з країни. Germany / France / Italy etc. → eu_vat; UK → gb_vat; US → us_ein; Canada → ca_bn і т.д. Тип ви не обираєте самі – підказка в модалці “Type is determined automatically from your country” про це.
  2. Формат і існування перевіряє Stripe. EU VAT ID-и проходять через VIES (офіційний реєстр ЄС). Інші регіони – через відповідні tax-authority API.
  3. Якщо Tax ID відхилений – Stripe повертає помилку, модалка показує точну причину inline (“VAT number is not valid”, “Format does not match” і т.п.). Поправляєте і re-save.
  4. Якщо прийнятий – зберігається у Stripe customer record і друкується на кожному наступному інвойсі.

EU VAT reverse-charge

Якщо ви зберегли валідний EU VAT ID (і ваша країна в ЄС), Stripe автоматично застосовує reverse-charge механізм на ваших інвойсах:

  • Майбутні інвойси показують 0% VAT з нотаткою “VAT reverse charge – recipient liable”.
  • VAT ви декларуєте на своєму боці через локальну звітність.
  • Сума incl. tax/mo на PLAN-картці зменшується відповідно при наступному оновленні сторінки.

Без валідного VAT ID EU-клієнти платять локальну ставку VAT (Stripe Tax рахує її від країни). Non-EU клієнти (US, UK після Brexit, Індія тощо) – за своїми правилами: sales tax, GST і т.д.

Де з’являються збережені деталі

  • Invoice PDF (Payment History → кнопка Invoice) – ім’я/company, адреса, країна, Tax ID і застосований tax (чи reverse-charge нотатка) на кожному PDF.
  • Stripe receipt emails – надсилаються на email акаунту після кожного успішного списання; містять ті самі дані плюс лінк на hosted PDF.
  • Усередині Upwex – тільки read-only summary в Payment Details modal. Більше ніде.

Експортуєте інвойси для бухгалтерії? Відкрийте Payment History, натисніть Invoice на кожному рядку для скачування PDF – там усе, що потрібно фінансам.

Зміни серед циклу

Редагування billing-деталей не ретроактивне. Минулі інвойси immutable (це регуляторна вимога у більшості юрисдикцій) – Upwex їх не перевипускає з виправленими даними, і Stripe також.

  • Зміни беруть силу з наступного інвойсу, який Stripe згенерує.
  • Помітили помилку на вже виставленому інвойсі і треба коректний для бухгалтерії – support@upwex.io з номером інвойсу; ми можемо випустити credit note + новий інвойс, якщо регуляторне вікно ще відкрите.

Хто може редагувати billing-деталі

Тільки ролі Owner і Admin. Сторінка Billing у Members у сайдбарі взагалі прихована – вони її не відкриють. Бекенд тримає той самий gate (Members отримують 403, якщо спробують напряму викликати billing API), тож обійти не можна.

Якщо вам треба оновити billing-дані, а ви Member – попросіть Owner-а команди чи будь-якого Admin зробити це за вас.

Пов’язані статті