Preparation, not a provider test log. The files below were generated locally. We executed the price arithmetic and checked the synthetic fixture. No provider draft, email send, live subscriber import/export, payment or unsubscribe action was executed. These files do not increase a tool's evidence score or establish a comparative winner.
Use one brief for every option
The task is one weekly newsletter for one publication, priced at 1,000 and 10,000 subscribers. The included issue gives each tool the same content. The export checklist focuses on what you would need to leave later. Replace the scenario with your own requirement before spending money.
- Trial brief · Markdown
- Example issue · Markdown
- Export checklist · Markdown
- Synthetic inspection fixture · CSV
- Dated public quote inputs · JSON
- Executed local cost scenarios · JSON
- Reproduce the cost model · Python
- Verify outputs and fixture · Python
- Read the scope and instructions · Markdown
- Check the exact download bytes · SHA-256
What we actually ran locally
Python's standard-library Decimal model processed fourteen provider/plan/list-size scenarios from the saved public inputs. The saved output distinguishes the annualised cost of twelve monthly payments, published annual quotes, beehiiv's annual arithmetic from displayed monthly equivalents and Kit Pro's first-year promotional quote. Unknown annual renewal totals remain null.
The local verifier checks that the saved output reproduces exactly, that the unknown standard Pro annual total is not filled from a rounded display, and that the unavailable beehiiv Free scenario is not priced as free at 10,000 subscribers. It also checks the six-row synthetic fixture: five unique identities, one duplicate, pending and unsubscribed states, a UTF-8 name and a quoted comma.
python3 cost-model.py
python3 verify-pack.pyBoth commands read local files only and need no credentials or third-party package. The model writes JSON to standard output. The verifier reports fourteen cost scenarios, six synthetic rows and zero provider workflows. The files are portable source material you can inspect before running.
Read the money labels carefully
The source inputs reproduce dollars as displayed and retain their currency limitations. No foreign-exchange conversion or processor fee is guessed. A quoted annual price is not an observed invoice; a monthly equivalent multiplied by twelve is labelled arithmetic. Taxes, add-ons, payment processing, revenue share and unobserved discounts are outside the totals. Read the linked official page before buying.
Before any account-based run
Use a private test publication and only addresses you control. Buttondown documents that Stripe test mode is unsupported; this pack does not authorise a real payment or refund. The CSV addresses end in .invalid; its labels are invented for local inspection and do not establish permission to send. Do not use it as a live audience. Any signup, message, account change or real charge needs its own authorised scope.
Mark each provider step not run until there is a dated native output for that exact action. A preview is not delivery evidence, an export button is not a verified migration, and one test email is not a deliverability benchmark.
Source pricing pages: beehiiv, Kit and Buttondown. Workflow documentation and source-read limits are linked in the comparison and checklist.
Get the next useful tool note.
The Drop brings dated research and practical decisions, with links to the evidence.