Made by hand in Stripe — without a month, or sharing a month with an invoice of ours
An open invoice made in the Stripe Dashboard for a shop we bill is found every morning (or now: Find) and followed like ours — reminders, overdue, debtors. Its month is read from the memo (“May 2026”); if it can't be, set it here. The app never rebuilds such an invoice: change it in Stripe, or Void it.
Organization
Status
Amount
Stripe
Month
Bank accounts with a failed ACH payment — billed at the standard rate until the mark is cleared
Account
Why
Status
Stores
The shops we bill (the billing group, Settings): the service month's registrations and invoice, and what each owes now across all months.
Owed now is every invoice that went out and is not paid, all months together — ours and those made by hand in Stripe; drafts not sent yet are not counted. Past due counts days from the oldest unpaid invoice's due date: the shop is warned at 15 days and its deactivation is recommended at 30 (Settings → Debtors). History shows a shop month by month.
Nobody is billed
Shop
Registrations
Invoice for the month
Paid
Owed now
Past due
Registrations & revenue
A pet transferred to a buyer is billed once per month to the organization that transferred it. Only the billing group is billed (Settings). Free: cancelled transfers, and re-transfers within 90 days of a transfer in an earlier month. Old script is what the previous counting script would have billed — Details show why each pet differs.
Outside the billing group, with a billing profile — not billed
Saved before the group rule, or the organization's token changed. Unlink the Stripe customer here if another organization should pay with it.
Organization
Stripe customer
Note
Billing runs
Invoice a service month: preview what would be created, create the drafts in Stripe, then send them. Running it twice never makes a second invoice for the same shop and month.
Preview — what Create drafts would make; nothing is written
Organization
Payment
Registrations
Amount
Notes
Settings
Everyone sees these; only the owner changes them. Turning on something that acts by itself asks for a reason; turning it off is one click.
Billing group
Only organizations that share one API token are billed — the chain of Findpet shops. Shelters, test accounts and partners with a token of their own are never billed; a new shop added with the group's token is billed automatically. Tokens are never shown: a group is named by a short fingerprint of its token.
Only the owner can change this.
Invoice sending
What happens after the monthly run has created an invoice in Stripe.
Manual (default)
Invoices are created in Stripe as drafts. Nothing is emailed and nothing is charged until someone presses Send.
Automatic
Once an invoice's amount check passes, the app finalizes it and emails it or charges the saved payment method by itself.
Only the owner can change this.
Slack and reminders
Alerts go to the Stripe Invoices Slack channel at once, a summary every day at 07:00 New York. While invoicing runs in Stripe test mode every message is marked [TEST].
Slack
Loading…
Reminders to shops
Stripe re-sends each open invoice paid by e-mail (sent at least 7 days ago, not paused for its shop) on the reminder days at 06:00 New York.
Only the owner can change these.
Debtors
Counted from the due date of the organization's oldest unpaid invoice (ours or made by hand in Stripe). At the first limit the shop is warned: a banner on findpet.com says new pet transfers and registrations may be paused, and an alert goes to Slack. At the second, deactivation is recommended (an alert). Deactivating is always done by a person (Stores → the shop → Deactivate).
Warnings to shops
When a shop reaches a level, Stripe at once re-sends its past-due invoices (those paid by e-mail) — once per invoice and level. And while it stays at a level, each invoice you send to that shop carries a dated notice at the top: “PAST DUE … new pet transfers and registrations may be paused”. It is written when you press Send, from what Stripe shows at that moment (paid meanwhile — no notice). Shops with reminders paused get neither. (An invoice that has gone out cannot be changed in Stripe, so the notice is only in new ones.)
Only the owner can change these.
Prices
Per billable registration. The ACH Direct Debit price is a discount for paying by bank debit; the standard price is always the ACH price × 1.03. A shop's contract price or discount is set on Registrations & revenue (Pricing).
History
From
Standard
ACH
ACH failure fee
Set by
Reason
Only the owner can change prices.
Users
Who can sign in, with which role, and whether their 2FA is set up. Every sign-in needs the password and a code; a session ends after 60 minutes without activity.
Username
Role
Status
2FA
Created
Audit log
Every sign-in, view, change and Stripe action: who, when, the target and the reason given.
Time
User
Action
Target
IP
Details
FindPet Finance — user guide
How to bill the pet shops every month, follow their payments, handle failed payments and debtors — step by step, with no technical knowledge needed.
Test mode. Right now every invoice is created in Stripe test mode: nobody is e-mailed or charged, and Slack messages start with [TEST]. Everything below works the same way once real billing is switched on — only then shops really get the invoices.
1. The basics
What we bill. A shop pays for each pet it transferred to a buyer in a month. The same pet is billed once a month. Free: a transfer cancelled in the same month, and a pet transferred again within 90 days of an earlier transfer.
Who we bill. Only the shops of the billing group (Settings → Billing group). Shelters, test accounts and partners are never billed.
Months are New York months (midnight to midnight, Eastern time). A month can be invoiced once it is over. This month of the registrations is the service month; it is not the day an invoice was sent or paid.
Prices. Standard price $9.785 per registration. Shops that pay by ACH Direct Debit (a saved US bank account) get the ACH price $9.50. A failed ACH payment adds a $10.00 fee. A shop may have its own contract price or discount.
Payment. A shop with a saved bank account or card is charged automatically when you send its invoice. Everybody else gets the invoice by e-mail with a link to pay online. E-mailed invoices are due in 15 days.
Four roles, each can do everything the one before it can:
viewer — sees everything, changes nothing;
operator — creates and sends invoices, sets the month of a hand-made one, resolves alerts;
finance_admin — also corrects: deletes, recreates and voids invoices, makes a pet billable by hand, deactivates a shop, edits a shop and its contract price or discount;
owner — also the base prices, every setting and the users.
A button your role can't use is not shown at all.
Everything is recorded in the Audit log: who did what, when, and the reason they gave.
2. Signing in
Open finance.findpet.com, enter your username and password, press Continue.
Enter the 6-digit code from your authenticator app (Google Authenticator, 1Password, Authy…), press Verify.
The very first time you get a temporary password from the owner: the app asks you to add the account to your authenticator app, then to choose your own password (at least 12 characters).
Forgot your password? Ask the owner for a temporary one (Users → Temp password). Lost your phone? Ask the owner to Reset 2FA. You are signed out after 60 minutes without activity.
3. Finding your way
The menu on the left (on a phone — the strip at the top; slide it sideways to see the rest):
Page
What it is for
Overview
Where the month stands and what needs doing (section 4).
Invoices
Every invoice of the month: send, refresh, cancel, replace. At the top — Needs attention; lower down — invoices made by hand in Stripe and bank accounts with a failed ACH payment. The number next to it counts the alerts waiting.
Stores
Every shop we bill at a glance: the month's invoice, what it owes, how late it is; a shop's History (section 5).
Registrations & revenue
Pets to bill per shop and why; Make billable, contract prices, a shop's billing profile.
Billing runs
Invoicing a whole month: Preview, Create drafts, Send all drafts.
Settings
Billing group, invoice sending, Slack and reminders, debtors, prices.
Users
Who can sign in and with which role (owner only).
Audit log
Every sign-in, view and change.
Help
This guide, in English and Russian.
The top bar shows at a glance how the app is set: TEST MODE (nobody is charged), Sending: Manual / Automatic (a click opens Settings) and Last Stripe check — a click shows whether Stripe is talking to us: the last morning check, the last message from Stripe, messages waiting, Slack. Then your name and role, Change password and Sign out.
The period bar above Overview, Invoices, Stores, Registrations and Billing runs chooses the service month for all of them at once: ‹ Previous, the month list, Next ›. Current billing month jumps back to the month to invoice now — last month. The current month is marked “so far”: it is not over yet.
The address in the browser keeps the page and the month (for example #invoices?period=2026-08). Copy it to show a colleague exactly the same screen; the browser's Back button works; links from Slack open the right place.
Confirmation windows. Every button that changes something opens a window first: what exactly will happen, and a field for the reason where one is needed. The button at the bottom does it. Cancel, Esc or a click outside the window closes it, and nothing changes. If the app refuses (for example the invoice changed meanwhile), the reason is shown inside the window.
4. Overview: what needs doing
The first page after signing in. Each number says what it covers:
The service month (the period bar): registrations to bill; invoice amounts (drafts included, and how many are still drafts); paid; shops with registrations but no invoice yet.
All periods, as of now: owed now (sent and unpaid, every month together; drafts are not counted), shops past due, deactivated shops, alerts in Needs attention.
Work queue — what a person should do, with a View link to the place where it is done: Needs attention, drafts to send, payment problems, shops past due, shops not invoiced yet. How the app is set — test mode, invoice sending, reminders, warnings to shops, Slack, the last Stripe check.
5. Stores: every shop at a glance
Stores shows every shop we bill, for the service month (last month by default):
Column
What it means
Shop
Name and org ID. Badges: Deactivated, Warned, Deactivation recommended, Taken out of billing.
Registrations
Pets to bill for that month (and how many transfers there were). A shop with none needs no invoice.
Invoice for the month
Its status (Draft, Open, Paid, Overdue…), the amount, the Stripe number (click it to open the invoice in Stripe). “made by hand in Stripe” — an invoice someone created in Stripe directly.
Paid
What has been paid for that month.
Owed now
Everything the shop owes today, all months together: every invoice that went out and is not paid. Drafts that were never sent are not counted.
Past due
How many days the shop's oldest unpaid invoice is past its due date.
Search by the shop's name or org ID; the filter shows only the shops that owe money, are past due, paid, did not pay, were not invoiced, or are deactivated.
History opens one shop month by month: registrations, every invoice (with the payment date, reminders sent, earlier versions), what it owes, how late it is, its price today. From there: Pricing, Billing profile, Deactivate / Reactivate.
The line at the bottom adds everything up.
6. Monthly invoicing, step by step
Do this in the first days of every month, for the month that just ended (Current billing month on the period bar).
Step 1 — check the registrations
Open Registrations & revenue.
Look at To bill for each shop. Old script is what the old counting script would have billed; a difference is explained in Details (for each pet: why it is billed or free).
Use the search and the filter (Past due, Deactivated, Stripe customer not linked) to find shops quickly.
Step 2 — fix what needs fixing (before creating invoices)
A pet should be billed, but the rules made it free (for example a cancelled transfer that really happened): Details → the pet's row → Make billable → write why → Save. To take it back: Undo. Changes to months before last month ask you to confirm.
A shop has a contract price or a discount:Pricing (see section 12).
Link the shop to its Stripe customer (needed for real billing): Edit → Stripe customer id (starts with cus_, copy it from the customer page in Stripe) → Save. The app checks that the customer exists.
A shop must not be billed (closed store, separate agreement): Edit → untick Bill this organization → Save. It moves to “Taken out of billing”.
Pause the reminders for one shop (for example during a dispute): Edit → tick Pause payment reminders for this shop.
Step 3 — preview, create the drafts, send
Open Billing runs and press Preview: what would be created, per shop, with the amount and how it will be paid. Nothing is written yet.
Press Create drafts and confirm with Start. The app creates one draft per shop in Stripe and checks every draft against its own calculation to the cent. Wait until the progress line says it has finished (you may go to other pages meanwhile).
Check the list on Invoices. A draft marked Problem differs from our calculation and is never sent: delete it (Delete) and press Create drafts again after fixing the cause.
Send: Send on one invoice (Invoices), or Send all drafts (Billing runs). The window says how the shop will pay. Before sending, the app checks once more that nothing changed (pets, prices, the payment method). Shops with a saved bank account or card are charged; everyone else is e-mailed.
Manual or Automatic sending (Settings → Invoice sending, owner only). Manual (default): drafts wait until someone presses Send. Automatic: every clean draft is sent right after it is created. Going back to Manual stops the very next automatic send. The top bar always shows which one is on.
Running Create drafts twice never creates a second invoice for the same shop and month.
7. After sending: statuses and what to do
Status
Meaning
What to do
Draft
Created, not sent.
Send it (or Delete it).
Problem
The Stripe draft differs from our numbers.
Delete, fix, Create drafts again.
Open
Sent, waiting for payment.
Nothing; reminders go by themselves if they are on.
ACH processing
A bank debit is on its way (up to about 4 business days).
Wait. An alert comes if it takes more than 7 days.
Usually a replacement is prepared automatically (section 8).
Disputed
The shop disputed the payment, or the bank returned it.
See the alert in Needs attention.
Uncollectible
Marked uncollectible in Stripe.
It can still be paid; decide by hand.
Void
Cancelled.
The month can be invoiced again.
Replacing… / Creating…
The app is working on it.
Wait, then Refresh.
Statuses update by themselves: Stripe tells the app within seconds, and every morning at 05:00 (New York) the app re-checks everything. Refresh re-reads one invoice from Stripe now.
Timeline shows the whole story of an invoice: every status change, every message from Stripe, alerts, reminders, earlier versions.
PDF links download the invoice PDF (and the paid one).
Needs attention (top of the Invoices page; the Overview's work queue leads there too) lists what a person must look at. When it is handled, press Resolve and write what was done.
8. When a payment fails
A bank (ACH) payment failed or came back from the bank later: the app cancels the old invoice and prepares a replacement at the standard price plus the $10.00 fee, paid online by e-mail. The shop's bank account is marked (it gets the standard price until someone clears the mark).
A card was declined: a replacement with the same price, paid online by e-mail.
In Manual mode the replacement waits as a draft — Needs attention says “ready as a draft — press Send”. Check it and press Send. In Automatic mode it goes out by itself.
The app does this automatically once per invoice. If it happens again, or the shop disputed the payment itself, Needs attention asks you to decide by hand.
Bank accounts with a failed ACH payment (bottom of the Invoices page): when the shop's account is fine again, press Clear and write why — its invoices get the ACH price again.
9. Cancelling and rejecting
I want to…
How
Throw away a draft that was never sent
Invoices → Delete. Create drafts will make a new one.
Cancel an invoice that went out, with no new one
Invoices → Void + a reason. Only for open / unpaid invoices. The month is free again: Create drafts would invoice it anew.
Replace an invoice (other price, add or remove the fee, e-mail instead of charging)
Invoices → Recreate: choose the rate (as the saved payment method gives / ACH / standard), how it is collected, the fee, write a reason. The preview shows the new amount. The old one is cancelled; the new one waits as a draft for Send.
Stop a replacement that is being made
Invoices → Cancel replacement + a reason (the month may stay unbilled — the app says so).
Undo “Make billable” on a pet
Registrations & revenue → Details → Undo + a reason.
Registrations & revenue → Edit → untick Bill this organization.
Stop a shop's reminders
Edit → Pause payment reminders for this shop.
Close an alert
Invoices → Needs attention → Resolve + what was done.
A paid invoice cannot be cancelled or replaced here (that needs a credit note in Stripe).
10. Invoices you create by hand in Stripe
Sometimes you make an invoice directly in the Stripe Dashboard — for example a month billed before this app existed, re-issued with the late fee. The app finds it and follows it like its own.
In Stripe, create the invoice for the shop's Stripe customer, add the lines, and write the month and year in the memo, for example: Unpaid registrations for May 2026. You may also write a due date (“pay by June 15, 2026”) — a single date is not taken as the month. Send (finalize) it in Stripe.
The app finds it within seconds (or at 05:00 the next morning). To look right now: Invoices → Find hand-made invoices.
If the month was read from the memo, the invoice appears in that month with the badge hand-made. If not (no month, several months, or a month in the future), Needs attention asks you to set it: Invoices → “Made by hand in Stripe” → Set month → choose the month and write why.
From then on it gets reminders, counts as owed and for debtors, and shows on Stores and in the shop's History.
The app never changes it: no Recreate, no Send. To change it, edit it in Stripe (Stripe cancels it and makes a new version — the app then follows the new one), or cancel it here with Void.
If the app already has its own invoice for that shop and month, an alert says “two invoices bill the same month — void one of them”.
In test mode the shop's test customer is the one with the e-mail <org id>@example.com; it exists once the app has made at least one draft for that shop.
11. Debtors and deactivation
The app counts how many days a shop's oldest unpaid invoice is past due (ours and hand-made ones). Every morning:
from 15 days (Settings → Debtors) the shop is Warned: an alert in Slack, and the shop sees a banner on findpet.com that new pet transfers and registrations may be paused from a date;
from 30 daysdeactivation is recommended: an alert in Slack.
Deactivating is always your decision — the app never does it by itself.
Stores → the shop's row → Deactivate (or History → Deactivate), write the reason.
On findpet.com the shop can no longer transfer its pets to buyers or register new pets. It can still edit its pets and report a lost or found pet. A message goes to Slack.
When it has paid: Reactivate + a reason. If a deactivated shop owes nothing any more, Slack reminds you every day to reactivate it.
Good to know.
While invoicing runs in test mode, a deactivation is a rehearsal: findpet.com ignores it.
The shop's part on findpet.com is ready but waits for the website's release.
Shops that send pets through the partner API are not blocked there yet.
Warnings to shops (Settings → Debtors, owner)
When this switch is On:
a shop that becomes Warned or “deactivation recommended” gets its past-due invoices re-sent by Stripe at once;
every invoice you send to that shop while it is at a level carries a dated notice at the top: “PAST DUE … new pet transfers and registrations may be paused … if you have paid since, please disregard this notice”. It is written when you press Send, from what Stripe shows at that moment: if the shop has paid in the meantime, there is no notice.
Shops with reminders paused (Edit) get neither. Off by default. An invoice that has already gone out can't get the notice: Stripe doesn't allow changing a sent invoice's text.
12. Prices
Base prices (Settings → Prices, owner): to change them, add new prices from a date. The old ones stay for the months before; the standard price is always the ACH price × 1.03.
A shop's contract price or discount (Registrations & revenue → Pricing, or Stores → History → Pricing; finance_admin or owner): name it, choose Contract price (the ACH price) or Discount %, the first day, the last day (or “No end date”), and the reason. The preview shows both prices. Two conditions of one shop can't overlap.
End — set the last day of a condition (it stays in the history).
Cancel — as if it never existed: every month in its dates is priced at the base price again. Not possible if an invoice already went out at that price (void or recreate it first, or set the last day instead). Drafts made at that price must be deleted and created again — the app lists them.
Changes that reach into months before this one ask you to confirm.
13. Reminders, Slack and the daily summary
Reminders to shops (Settings, owner): On — on the chosen days of the month (by default the 1st and the 15th) at 06:00 New York, Stripe re-sends every open invoice that was e-mailed at least 7 days ago. Shops with reminders paused are skipped. Off by default.
Slack (channel Stripe Invoices): alerts come at once; a daily summary at 07:00 New York: open, overdue and failed invoices, payments of the last 24 hours, debtors, whether the app is healthy. Every message links back to the right page of the app.
14. Settings — who can change what
Setting
What it does
Default
Billing group
Which shops are billed (those sharing one API token).
Nobody
Invoice sending
Manual: drafts wait for Send. Automatic: sent right away.
Manual
Reminders
Stripe re-sends open e-mailed invoices on the chosen days.
Off, days 1 and 15
Debtors
Days past due for “Warned” and “Deactivation recommended”.
15 and 30
Warnings to shops
Re-send past-due invoices when a level is reached; a dated PAST DUE notice in the invoices sent to that shop.
Off
Prices
Base prices from a date.
$9.50 / $9.785 / $10.00
Only the owner changes settings. Turning something on that acts by itself (Automatic sending, reminders, warnings) asks for a reason; turning it off is one click.
15. Users (owner) and the Audit log
Add user: a username, a temporary password (at least 12 characters, valid 72 hours) and the role. Give the password privately; at the first sign-in they set up 2FA and choose their own password.
Temp password — the user forgot the password. Reset 2FA — the user lost the phone. Both give a new temporary password.
Role — choose another one in the user's row and confirm with Change the role; it applies at once. Your own role can't be changed here.
Audit log: every sign-in, view, change and Stripe action, with the user, the time and the reason.
16. Questions
Where did the Dashboard and the tabs go?
The Dashboard is now Stores; Preview, Create drafts and Send all drafts are on Billing runs; Needs attention is at the top of Invoices. The month is chosen once, on the period bar. Old links still open the right page.
Create drafts made nothing for a shop.
It had no pets to bill, it was taken out of billing, or it already has an invoice for that month (Billing runs → Preview shows why).
Send says something changed.
Pets, prices or the payment method changed after the draft was made. Delete the draft and press Create drafts again.
A shop says it paid, but the app shows Open.
Press Refresh. A bank payment can take a few days (ACH processing).
The shop should pay the ACH price, but gets the standard price.
It has no saved bank account with a mandate in Stripe, or its bank account is marked after a failed payment (Invoices → bank accounts → Clear).
A hand-made invoice doesn't show up.
Is it for the shop's Stripe customer, and sent (finalized) in Stripe? Press Find hand-made invoices. Without a month in the memo it waits under “Made by hand in Stripe” for Set month.
I don't see a button described here.
Your role can't use it (section 1). Ask the owner.
Why can't I change a sent invoice's text?
Stripe doesn't allow it; only Recreate (a new invoice) can.
17. Words used here
Service month
The New York month in which the pets were transferred — what an invoice is for.
ACH Direct Debit
Payment straight from a US bank account; cheaper price.
Draft / Finalize / Send
A draft can still change; finalizing gives it a number; sending charges the saved payment method or e-mails it.
Void
Cancelled invoice; cannot be paid.
Replacement / revision
A new invoice for the same month that replaces the cancelled one.
Dispute
The shop or its bank took the payment back.
Org ID
The shop's ID on findpet.com (for example AZX67GZC).
Billing group
The shops that share one API token — the ones we bill.
FindPet Finance — руководство пользователя
Как каждый месяц выставлять счета магазинам, следить за оплатами, разбираться с неудачными платежами и должниками — по шагам, без технических знаний.
Тестовый режим. Сейчас все счета создаются в Stripe в test mode: никому ничего не приходит и ничего не списывается, сообщения в Slack начинаются с [TEST]. Всё, что описано ниже, работает так же и после включения настоящего биллинга — только тогда магазины получают счета по-настоящему.
1. Основное
За что выставляем. Магазин платит за каждого питомца, которого он передал покупателю за месяц; один питомец — один раз в месяц. Бесплатно: передача, отменённая в том же месяце, и повторная передача того же питомца в течение 90 дней после предыдущей.
Кому выставляем. Только магазинам биллинговой группы (Settings → Billing group). Приюты, тестовые аккаунты и партнёры не выставляются никогда.
Месяц — по времени Нью-Йорка (с полуночи до полуночи по восточному времени). Счёт за месяц можно выставить, когда месяц закончился. Месяц регистраций называется сервисным месяцем (service month); это не день, когда счёт отправили или оплатили.
Цены. Стандартная цена — $9.785 за регистрацию. Магазины, которые платят через ACH Direct Debit (сохранённый банковский счёт в США), платят $9.50. За неудачный ACH-платёж добавляется штраф $10.00. У магазина может быть своя договорная цена или скидка.
Оплата. У магазина с сохранённым банковским счётом или картой деньги списываются автоматически, когда вы отправляете счёт. Остальные получают счёт письмом со ссылкой на оплату онлайн; срок оплаты — 15 дней.
Четыре роли, каждая может всё, что может предыдущая:
viewer — видит всё, ничего не меняет;
operator — создаёт и отправляет счета, ставит месяц ручному счёту, разбирает тревоги;
finance_admin — ещё исправляет: удаляет, пересоздаёт и аннулирует счета, делает питомца платным вручную, деактивирует магазин, правит магазин и его договорную цену или скидку;
owner — ещё базовые цены, все настройки и пользователей.
Кнопок, которые вашей роли недоступны, вы просто не увидите.
Всё записывается в Audit log: кто, когда, что сделал и какую причину указал.
2. Вход
Откройте finance.findpet.com, введите имя пользователя и пароль, нажмите Continue.
Введите 6-значный код из приложения-аутентификатора (Google Authenticator, 1Password, Authy…), нажмите Verify.
Первый вход — по временному паролю от owner'а: приложение попросит добавить аккаунт в аутентификатор, затем придумать свой пароль (не короче 12 символов).
Забыли пароль? Попросите у owner'а временный (Users → Temp password). Потеряли телефон? Попросите owner'а сделать Reset 2FA. После 60 минут бездействия приложение выходит из аккаунта само.
3. Как устроено приложение
Меню слева (на телефоне — полоса сверху, её можно листать вбок):
Раздел
Для чего
Overview
Как обстоят дела за месяц и что нужно сделать (раздел 4).
Invoices
Все счета месяца: отправить, обновить, отменить, заменить. Вверху — Needs attention, ниже — счета, созданные вручную в Stripe, и банковские счета с неудачным ACH-платежом. Число рядом — сколько тревог ждёт.
Stores
Все магазины, которым мы выставляем: счёт за месяц, долг, просрочка; история магазина (раздел 5).
Registrations & revenue
Сколько питомцев к оплате у каждого магазина и почему; Make billable, договорные цены, биллинговый профиль магазина.
Billing runs
Выставление за весь месяц: Preview, Create drafts, Send all drafts.
Settings
Биллинговая группа, отправка счетов, Slack и напоминания, должники, цены.
Users
Кто может входить и с какой ролью (только owner).
Audit log
Каждый вход, просмотр и изменение.
Help
Это руководство, на английском и русском.
Верхняя панель сразу показывает, как настроено приложение: TEST MODE (ни с кого не списывается), Sending: Manual / Automatic (нажатие открывает Settings) и Last Stripe check — по нажатию видно, связан ли Stripe с нами: последняя утренняя сверка, последнее сообщение от Stripe, ожидающие сообщения, Slack. Дальше — ваше имя и роль, Change password и Sign out.
Панель периода над Overview, Invoices, Stores, Registrations и Billing runs выбирает сервисный месяц сразу для всех: ‹ Previous, список месяцев, Next ›. Current billing month возвращает к месяцу, который выставляем сейчас, — прошлому. Текущий месяц помечен «so far»: он ещё не закончился.
Адрес в браузере хранит раздел и месяц (например, #invoices?period=2026-08). Скопируйте его, чтобы коллега увидел ровно тот же экран; кнопка «Назад» браузера работает; ссылки из Slack открывают нужное место.
Окна подтверждения. Любая кнопка, которая что-то меняет, сначала открывает окно: что именно произойдёт и поле для причины, где она нужна. Кнопка внизу окна выполняет действие. Cancel, Esc или щелчок мимо окна закрывают его, и ничего не меняется. Если приложение отказало (например, счёт тем временем изменился), причина видна прямо в окне.
4. Overview: что нужно сделать
Первый экран после входа. Каждое число подписано, к чему оно относится:
Сервисный месяц (панель периода): регистрации к оплате; суммы счетов (вместе с черновиками — и сколько из них ещё черновики); оплачено; магазины с регистрациями, но без счёта.
Все периоды на сейчас: долг (отправлено и не оплачено за все месяцы вместе; черновики не считаются), магазины с просрочкой, деактивированные магазины, тревоги в Needs attention.
Work queue — что нужно сделать человеку, со ссылкой View туда, где это делается: Needs attention, черновики к отправке, проблемы с оплатой, просрочившие магазины, магазины без счёта. How the app is set — тестовый режим, отправка счетов, напоминания, предупреждения магазинам, Slack, последняя сверка со Stripe.
5. Stores: все магазины на одном экране
Stores показывает все магазины, которым мы выставляем счета, за сервисный месяц (по умолчанию — прошлый):
Колонка
Что означает
Shop
Название и org ID. Отметки: Deactivated (деактивирован), Warned (предупреждён), Deactivation recommended (рекомендована деактивация), Taken out of billing (выведен из биллинга).
Registrations
Сколько питомцев к оплате за месяц (и сколько всего было передач). Магазину без регистраций счёт не нужен.
Invoice for the month
Статус счёта (Draft, Open, Paid, Overdue…), сумма и номер в Stripe (нажмите — откроется в Stripe). «made by hand in Stripe» — счёт, созданный вручную прямо в Stripe.
Paid
Сколько оплачено за этот месяц.
Owed now
Сколько магазин должен сегодня за все месяцы вместе: все отправленные и неоплаченные счета. Неотправленные черновики не считаются.
Past due
На сколько дней самый старый неоплаченный счёт магазина просрочен.
Поиск — по названию магазина или org ID; фильтр оставляет только тех, кто должен, просрочил, оплатил, не оплатил, кому ещё не выставлен счёт, или деактивированных.
History — история одного магазина по месяцам: регистрации, все счета (с датой оплаты, числом напоминаний, прежними версиями), долг, просрочка, цена сейчас. Оттуда же: Pricing, Billing profile, Deactivate / Reactivate.
Последняя строка таблицы — итог.
6. Ежемесячное выставление счетов по шагам
Делается в первые дни каждого месяца — за только что закончившийся месяц (Current billing month на панели периода).
Шаг 1 — проверить регистрации
Откройте Registrations & revenue.
Посмотрите колонку To bill (к оплате) по каждому магазину. Old script — сколько насчитал бы старый скрипт; разница объяснена в Details (по каждому питомцу — почему он платный или бесплатный).
Поиск и фильтр (Past due, Deactivated, Stripe customer not linked) помогают быстро найти нужные магазины.
Шаг 2 — поправить то, что нужно (до создания счетов)
Питомца нужно выставить, а правила сделали его бесплатным (например, отменённая передача, которая на самом деле состоялась): Details → строка питомца → Make billable → напишите причину → Save. Отменить: Undo. Правка месяцев раньше прошлого потребует подтверждения.
У магазина договорная цена или скидка:Pricing (см. раздел 12).
Привязать магазин к его клиенту в Stripe (нужно для настоящего биллинга): Edit → Stripe customer id (начинается с cus_, скопируйте со страницы клиента в Stripe) → Save. Приложение проверит, что такой клиент есть.
Магазину не нужно выставлять счёт (магазин закрыт, отдельная договорённость): Edit → снимите галочку Bill this organization → Save. Магазин переедет в список «Taken out of billing».
Остановить напоминания одному магазину (например, пока идёт спор): Edit → галочка Pause payment reminders for this shop.
Шаг 3 — предпросмотр, черновики, отправка
Откройте Billing runs и нажмите Preview: что будет создано по каждому магазину, на какую сумму и как будет оплачено. Пока ничего не записывается.
Нажмите Create drafts и подтвердите кнопкой Start. Приложение создаст в Stripe по одному черновику на магазин и сверит каждый со своим расчётом до цента. Дождитесь, пока строка прогресса покажет, что всё готово (тем временем можно переходить в другие разделы).
Проверьте список в Invoices. Черновик с отметкой Problem расходится с нашим расчётом и никогда не будет отправлен: удалите его (Delete) и, устранив причину, снова нажмите Create drafts.
Отправьте: Send на одном счёте (Invoices) или Send all drafts — все сразу (Billing runs). Окно покажет, как магазин будет платить. Перед отправкой приложение ещё раз проверяет, что ничего не изменилось (питомцы, цены, способ оплаты). С магазинов с сохранённым банковским счётом или картой деньги списываются, остальным счёт уходит письмом.
Ручная или автоматическая отправка (Settings → Invoice sending, только owner). Manual (по умолчанию): черновики ждут, пока кто-то нажмёт Send. Automatic: каждый проверенный черновик отправляется сразу после создания. Возврат в Manual останавливает ближайшую же автоматическую отправку. Что включено сейчас, всегда видно на верхней панели.
Повторный Create drafts никогда не создаст второй счёт тому же магазину за тот же месяц.
Статусы обновляются сами: Stripe сообщает о событиях за секунды, а каждое утро в 05:00 (Нью-Йорк) приложение перепроверяет всё. Refresh перечитывает один счёт из Stripe прямо сейчас.
Timeline — вся история счёта: смены статусов, сообщения от Stripe, тревоги, напоминания, прежние версии.
Ссылки PDF скачивают PDF счёта (и оплаченного счёта).
Needs attention (вверху раздела Invoices; туда же ведёт очередь работ в Overview) — то, на что нужно посмотреть человеку. Разобрались — нажмите Resolve и напишите, что сделано.
8. Если платёж не прошёл
Не прошёл банковский (ACH) платёж или банк вернул его позже: приложение аннулирует старый счёт и готовит замену — по стандартной цене плюс штраф $10.00, оплата онлайн по письму. Банковский счёт магазина помечается: пока пометку не снимут, у магазина стандартная цена.
Отклонена карта: замена по той же цене, оплата онлайн по письму.
В режиме Manual замена ждёт черновиком — Needs attention пишет «ready as a draft — press Send». Проверьте и нажмите Send. В режиме Automatic она уходит сама.
Автоматически это делается один раз на счёт. Если снова не прошло, или магазин сам оспорил платёж, Needs attention попросит решить вручную.
Bank accounts with a failed ACH payment (внизу раздела Invoices): когда со счётом магазина всё в порядке, нажмите Clear и напишите причину — его счета снова получат ACH-цену.
9. Отменить и отклонить
Хочу…
Как
Выбросить черновик, который ещё не отправляли
Invoices → Delete. Create drafts создаст новый.
Отменить отправленный счёт без замены
Invoices → Void + причина. Только для открытых / неоплаченных. Месяц освобождается: Create drafts выставит его заново.
Заменить счёт (другая цена, добавить или убрать штраф, письмом вместо списания)
Invoices → Recreate: выберите тариф (как даёт сохранённый способ оплаты / ACH / стандартный), способ оплаты, штраф, напишите причину. Предпросмотр покажет новую сумму. Старый счёт аннулируется, новый ждёт черновиком кнопку Send.
Остановить замену, которая создаётся
Invoices → Cancel replacement + причина (месяц может остаться невыставленным — приложение предупредит).
Registrations & revenue → Edit → снять галочку Bill this organization.
Остановить напоминания магазину
Edit → Pause payment reminders for this shop.
Закрыть тревогу
Invoices → Needs attention → Resolve + что сделано.
Оплаченный счёт здесь не отменить и не заменить (для этого нужна кредит-нота в Stripe).
10. Счета, созданные вручную в Stripe
Иногда счёт создаётся прямо в Stripe Dashboard — например, за месяц, выставленный ещё до этого приложения, перевыставленный со штрафом. Приложение само находит такой счёт и ведёт его как свой.
В Stripe создайте счёт на клиента магазина в Stripe, добавьте строки и напишите в поле memo месяц и год, например: Unpaid registrations for May 2026. Можно указать и срок оплаты («pay by June 15, 2026») — одиночная дата за месяц не считается. Отправьте (финализируйте) счёт в Stripe.
Приложение найдёт его за секунды (или в 05:00 следующего утра). Проверить сразу: Invoices → Find hand-made invoices.
Если месяц прочитан из memo, счёт появится в этом месяце с отметкой hand-made. Если нет (месяц не указан, указано несколько месяцев или месяц в будущем), Needs attention попросит указать его: Invoices → «Made by hand in Stripe» → Set month → выберите месяц и напишите причину.
Дальше по нему идут напоминания, он входит в долг и в подсчёт должников, виден в Stores и в истории магазина.
Приложение его никогда не меняет: нет Recreate и Send. Чтобы изменить — правьте в Stripe (Stripe аннулирует его и создаёт новую версию, приложение переключится на неё) или отмените здесь через Void.
Если у приложения уже есть свой счёт этому магазину за тот же месяц, придёт тревога «два счёта за один месяц — аннулируйте один».
В тестовом режиме тестовый клиент магазина в Stripe — с e-mail <org id>@example.com; он появляется после того, как приложение хотя бы раз создало черновик для этого магазина.
11. Должники и деактивация
Приложение считает, на сколько дней просрочен самый старый неоплаченный счёт магазина (свои и ручные). Каждое утро:
с 15 дней (Settings → Debtors) магазин Warned — предупреждён: тревога в Slack, а магазин видит на findpet.com баннер, что новые передачи и регистрации питомцев могут быть приостановлены с такой-то даты;
с 30 дней — рекомендована деактивация: тревога в Slack.
Деактивацию всегда решает человек — сама она не включается.
Stores → строка магазина → Deactivate (или History → Deactivate), напишите причину.
На findpet.com магазин больше не может передавать своих питомцев покупателям и регистрировать новых. Править питомцев и сообщать о потерянном или найденном питомце можно. В Slack уходит сообщение.
Когда магазин оплатил: Reactivate + причина. Если деактивированный магазин больше ничего не должен, Slack каждый день напоминает его реактивировать.
Важно.
Пока счета выставляются в тестовом режиме, деактивация — репетиция: findpet.com её не выполняет.
Часть на стороне findpet.com готова и ждёт релиза сайта.
Магазины, которые передают питомцев через партнёрский API, там пока не блокируются.
магазину, который стал Warned или «deactivation recommended», Stripe сразу переотправляет просроченные счета;
каждый счёт, который вы отправляете магазину, пока он на уровне, несёт вверху датированное предупреждение: «PAST DUE … new pet transfers and registrations may be paused … if you have paid since, please disregard this notice». Оно пишется в момент нажатия Send по тому, что Stripe показывает сейчас: если магазин тем временем оплатил, предупреждения не будет.
Магазинам с остановленными напоминаниями (Edit) — ни того, ни другого. По умолчанию выключено. В уже отправленный счёт предупреждение не добавить: Stripe не даёт менять текст отправленного счёта.
12. Цены
Базовые цены (Settings → Prices, owner): чтобы изменить, добавьте новые цены с даты. Старые остаются для прошлых месяцев; стандартная цена всегда равна ACH-цене × 1.03.
Договорная цена или скидка магазина (Registrations & revenue → Pricing или Stores → History → Pricing; finance_admin или owner): название, Contract price (договорная ACH-цена) или Discount % (скидка), первый день, последний день (или «No end date»), причина. Предпросмотр покажет обе цены. Два условия одного магазина не могут пересекаться.
End — поставить условию последний день (оно остаётся в истории).
Cancel — как будто условия не было: все месяцы в его датах снова по базовой цене. Нельзя, если по этой цене уже ушёл счёт (сначала Void или Recreate этого счёта — или просто поставьте последний день). Черновики по этой цене нужно удалить и создать заново — приложение их перечислит.
Изменения, затрагивающие месяцы раньше текущего, попросят подтверждения.
13. Напоминания, Slack и ежедневная сводка
Напоминания магазинам (Settings, owner): On — в выбранные дни месяца (по умолчанию 1-го и 15-го) в 06:00 по Нью-Йорку Stripe переотправляет каждый открытый счёт, отправленный письмом не меньше 7 дней назад. Магазины с остановленными напоминаниями пропускаются. По умолчанию выключено.
Slack (канал Stripe Invoices): тревоги приходят сразу; ежедневная сводка в 07:00 по Нью-Йорку — открытые, просроченные и неудачные счета, оплаты за сутки, должники, всё ли в порядке с приложением. В каждом сообщении — ссылка на нужный раздел приложения.
14. Настройки — кто что меняет
Настройка
Что делает
По умолчанию
Billing group
Каким магазинам выставлять (тем, у кого общий API-токен).
Stripe переотправляет открытые счета в выбранные дни.
Off, 1-е и 15-е
Debtors
Дни просрочки для «Warned» и «Deactivation recommended».
15 и 30
Warnings to shops
Переотправка просроченных счетов при достижении уровня; датированное предупреждение PAST DUE в счетах, отправляемых этому магазину.
Off
Prices
Базовые цены с даты.
$9.50 / $9.785 / $10.00
Настройки меняет только owner. Включение того, что действует само (Automatic, напоминания, предупреждения), требует причину; выключение — в один клик.
15. Пользователи (owner) и Audit log
Add user: имя, временный пароль (не короче 12 символов, действует 72 часа) и роль. Передайте пароль лично; при первом входе человек настроит 2FA и придумает свой пароль.
Temp password — пользователь забыл пароль. Reset 2FA — потерял телефон. В обоих случаях выдаётся новый временный пароль.
Роль — выберите другую в строке пользователя и подтвердите кнопкой Change the role; она действует сразу. Свою роль здесь не поменять.
Audit log: каждый вход, просмотр, изменение и действие в Stripe — кто, когда, с какой причиной.
16. Частые вопросы
Куда делись Dashboard и вкладки?
Dashboard теперь называется Stores; Preview, Create drafts и Send all drafts — в Billing runs; Needs attention — вверху Invoices. Месяц выбирается один раз, на панели периода. Старые ссылки по-прежнему открывают нужный раздел.
Create drafts ничего не создал для магазина.
У него нет питомцев к оплате, он выведен из биллинга или у него уже есть счёт за этот месяц (Billing runs → Preview показывает причину).
Send говорит, что что-то изменилось.
После создания черновика изменились питомцы, цены или способ оплаты. Удалите черновик и снова нажмите Create drafts.
Магазин говорит, что оплатил, а в приложении Open.
Нажмите Refresh. Банковский платёж может идти несколько дней (ACH processing).
Магазин должен платить по ACH-цене, а получает стандартную.
В Stripe у него нет сохранённого банковского счёта с разрешением на списание (mandate), или его счёт помечен после неудачного платежа (Invoices → bank accounts → Clear).
Ручной счёт не появился.
Он выставлен клиенту этого магазина и отправлен (финализирован) в Stripe? Нажмите Find hand-made invoices. Без месяца в memo он ждёт в «Made by hand in Stripe», пока вы не укажете Set month.
Не вижу кнопку, о которой здесь написано.
Вашей роли она недоступна (раздел 1). Обратитесь к owner'у.
Почему нельзя поменять текст отправленного счёта?
Stripe этого не разрешает; можно только Recreate (новый счёт).
17. Словарь
Service month (сервисный месяц)
Месяц по Нью-Йорку, в котором питомцев передали, — за него и выставляется счёт.
ACH Direct Debit
Оплата прямо с банковского счёта в США; цена ниже.
Draft / Finalize / Send
Черновик ещё можно менять; финализация даёт счёту номер; отправка списывает деньги с сохранённого способа оплаты или отправляет счёт письмом.
Void
Аннулированный счёт; оплатить его нельзя.
Replacement / revision
Новый счёт за тот же месяц вместо аннулированного.
Dispute
Магазин или его банк вернули платёж.
Org ID
Идентификатор магазина на findpet.com (например, AZX67GZC).
Billing group
Магазины с общим API-токеном — те, кому мы выставляем счета.