Every author in your catalog — click a card for their books.
Loading…
+ New author
+ New book — add it to the catalog
Creates the book in the catalog. Only the name is required — price, keyword, ASIN/ISBN can come now or later, the two ad links come from the generator below afterwards. The book then appears automatically everywhere (offers, campaign, "still to offer").
Money & reviews per book
From the Payouts ledger — every paid line is one refunded review.
Loading…
Amazon keyword-link generator
Keyword + ASIN and/or ISBN-13 → the Amazon filter link (p_66 ISBN, plus p_78 when an ASIN is there) — it shows only your book while the buyer only sees the keyword. Saving it activates the book's branded short link (bookmarketingops.com/…) — the link you give out in flows, ads and emails.
New funnel — launch wizard
One pipeline, top to bottom, for a new book's Testleser funnel. Claude builds the ManyChat side and harvests the Ads JSON (browser automation, /manychat-funnel session — you only log in when asked; stubborn steps come back as a short finish-by-hand list). You keep the gates: eyeball the flows, Set Live, and the final Activate. The app builds the Meta campaign — prepare, approve every text in the preview, create PAUSED, one Activate click. No briefs, no Ads Manager for you. Source of truth stays AD-FUNNEL-RUNBOOK.md.
Reviews waiting for your verification…
Allowed actions: verify ✓, enter address, "no address → PayPal". Payouts are done by Kris only.
…
loading…
Funnel by book — where every lead stands
Loading…
Member sales by book — offered → bought → paid
Every sale to a club member, whatever the channel — club offers with their live status, plus books members bought via the Testleser funnel (counted as paid).
Loading…
Refunds to send
Everyone waiting for money — Testleser and club, one list. Send the money in PayPal first, then the row's button: "Mark as Paid" (Testleser → bookkeeping sweep) or "Record payout" (club → recorder, member & book preselected). Missing PayPal or address? Edit it right on the card.
Record a club payout
The CLUB flow — separate from the Testleser refunds under "Pay & book". You already SENT the money in PayPal; this only records it: "Go" marks the chosen purchases as Paid and writes ONE row into the Payouts ledger. Afterwards "Create Gutschrift" arms the PDF (~2 min).
Bookkeeping sweep
"Prepare" only READS and shows exactly what would be written — nothing happens until you approve. Gutschrift PDFs then build automatically (~2 min) — see the ledger below.
Gutschrifts — the ledger
Every payout, newest first, with its Gutschrift state. "Create Gutschrift" arms the row — the watcher builds the PDF within ~2 minutes.
Loading…
Bought — review & payout pending
Loading…
Offered — waiting for a yes
Loading…
Bought — waiting for review
Meta-ads funnel leads who bought the book and owe a review — the money that is about to become payable. Leads whose book is already tracked as a club purchase are excluded.
Loading…
Verification check — is everything consistent?
Read-only consistency report across CRM · Payouts · Club · Purchases. Writes nothing.
Accounts — you & the Mini-jobber
Create or reset a login. The Mini-jobber role sees Tasks, People and Emails — the tabs marked with the green dot in your sidebar — never money (enforced by the server, not just hidden). Give Jana her password directly; it is stored only as a hash in ~/.bmo-users.json.
All data lives in this app’s own database.
Notifications
Two lists, grouped by book. Paid = these people are already paid and their review is not confirmed on Amazon yet. Waiting for the review = they bought the book but no review has been recorded (payment comes after). When you find a review on Amazon, click ✓ Review is on Amazon — the app records the right thing by itself (unpaid people move to Reviewed and enter Kris's pay workflow; paid people just get confirmed). Paying itself stays on the Home tab (Kris only).
Loading…
Update a person — record what just happened
Type a name or an email (PayPal and club emails count too) — leads (ManyChat) and club members are searched together. Pick the person, and only their valid next steps are offered. Every change goes straight to the database with a proof line. Paid is recorded ONLY on the Home tab.
Club members
Click a member — full picture, purchases, money total, and the stage writer.
Loading…
+ New member
⇪ Import list (paste from Excel/CSV)
Paste your list — one member per line. Columns: name, email, PayPal email (optional), Amazon name (optional), separated by tab (Excel copy-paste), semicolon or comma. A header line is detected automatically. Existing members (same name or email) are skipped, never changed.
All leads by stage (the ManyChat pipeline)
Loading…
1 · Pick person, email type & books
Everything is live — members, email texts and books come straight from the database — refreshed every time you open this tab or click ↻.
Books to offer (one or many):
2 · Check it — this exact text goes out
Edit anything directly in the fields. Nothing is sent until you click Send.
Club campaign — offer books to many members at once
Pick the offer template + book(s), build the eligible list (members who bought, were already offered, or have an open purchase for a chosen book are excluded automatically). Then review each email and send one by one. Every send does the full bookkeeping: email + "Angebotene Bücher" + a Club Purchases row (Offered, price from the Links DB).
Everything an email is built from. Saving writes straight back to the database — the composer and campaign pick it up on their next refresh.
+ New email template
Placeholders you can use: {first_name}, {book_title}, {blurb}, {links}, {book_blocks} (list of several books), {amount}. Tick "records offer" if sending this email should mark the books as offered.
Email templates
The fixed text with placeholders ({vorname}, {book_blocks}, {buchtitel}, {blurb}, {links}). Your German ships VERBATIM as written here — placeholders are filled per send.
Book blurbs
Per book: the blurb (first line = the title line shown in offers, rest = description) + the stored Amazon filter link.
Live preview
Assembled from the template + blurb fields as they are RIGHT NOW — unsaved edits included. «Vorname» marks where the real first name lands.
Sends via your SMTP account · Sent copy saved by IMAP · every send is logged · texts and books live in the app database.