Files
awesome-awesomeness/html/billing.md2.html
2025-07-18 23:13:11 +02:00

1472 lines
75 KiB
HTML
Raw Blame History

This file contains invisible Unicode characters
This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
<!--lint disable awesome-heading-->
<p align="center">
<a href="https://github.com/kdeldycke/awesome-billing/">
<img src="https://github.com/kdeldycke/awesome-billing/raw/main/assets/awesome-billing-header.jpg" alt="💰 Awesome Billing">
</a>
</p>
<p align="center">
<a href="https://github.com/sponsors/kdeldycke"> <strong>Yʀ Pʀ
ʜᴇʀᴇ!</strong> <br/> <sup>Add a link to your company or project here:
purchase a GitHub sponsorship.</sup> </a>
</p>
<hr />
<p align="center">
<i>Money is the most universal and most efficient system of mutual trust
ever devised.</i><br> — Yuval Noah
Harari<sup id="intro-quote-ref"><a href="#intro-quote-def">[1]</a></sup>
</p>
<p>Any company needs at one point to get money from customers. Thats
when things gets messy for us developers, as we try to reconcile the
complexity of the business with our software stack.</p>
<p>This <a href="https://github.com/sindresorhus/awesome"><img
src="https://awesome.re/badge-flat.svg" alt="Awesome" /></a> list helps
software engineers <strong>bootstrap billing &amp; payments systems, and
make sense of invoicing, pricing, accounting, marketplace, fraud and
business intelligence</strong>.</p>
<h2 id="contents">Contents</h2>
<!-- mdformat-toc start --slug=github --no-anchors --maxlevel=6 --minlevel=2 -->
<ul>
<li><a href="#basics">Basics</a></li>
<li><a href="#pricing">Pricing</a>
<ul>
<li><a href="#usage-based-pricing">Usage-based Pricing</a></li>
<li><a href="#subscription-plans">Subscription Plans</a></li>
<li><a href="#hybrid">Hybrid</a></li>
<li><a href="#strategy">Strategy</a></li>
<li><a href="#market-research">Market Research</a></li>
</ul></li>
<li><a href="#product-catalog">Product Catalog</a></li>
<li><a href="#calculator">Calculator</a></li>
<li><a href="#cost-forecast">Cost Forecast</a></li>
<li><a href="#marketplace">Marketplace</a>
<ul>
<li><a href="#cloud-resources">Cloud Resources</a></li>
<li><a href="#online-ads">Online Ads</a></li>
</ul></li>
<li><a href="#accounting">Accounting</a>
<ul>
<li><a href="#double-entry-model">Double-Entry Model</a></li>
<li><a href="#bookkeeping">Bookkeeping</a></li>
<li><a href="#software-design-and-implementation">Software design and
implementation</a></li>
<li><a href="#currencies">Currencies</a></li>
</ul></li>
<li><a href="#finance">Finance</a></li>
<li><a href="#contracts">Contracts</a></li>
<li><a href="#coupons-and-vouchers">Coupons and Vouchers</a></li>
<li><a href="#taxes">Taxes</a>
<ul>
<li><a href="#european-vat">European VAT</a></li>
</ul></li>
<li><a href="#invoice">Invoice</a>
<ul>
<li><a href="#structure">Structure</a></li>
<li><a href="#integrity">Integrity</a></li>
<li><a href="#generators">Generators</a></li>
<li><a href="#extractors">Extractors</a></li>
<li><a href="#electronic-invoices">Electronic invoices</a></li>
</ul></li>
<li><a href="#payments">Payments</a>
<ul>
<li><a href="#receipt">Receipt</a></li>
<li><a href="#credit-cards">Credit Cards</a></li>
<li><a href="#bank-accounts">Bank Accounts</a></li>
<li><a href="#online-payments">Online Payments</a></li>
</ul></li>
<li><a href="#fraud">Fraud</a>
<ul>
<li><a href="#cards">Cards</a></li>
<li><a href="#trust-score">Trust Score</a></li>
<li><a href="#statistics">Statistics</a></li>
<li><a href="#billing">Billing</a></li>
</ul></li>
<li><a href="#uxui">UX/UI</a></li>
<li><a href="#business-intelligence">Business Intelligence</a>
<ul>
<li><a href="#metrics">Metrics</a></li>
<li><a href="#customer-lifetime-value">Customer Lifetime Value</a></li>
<li><a href="#data-engineering">Data Engineering</a></li>
<li><a href="#tools">Tools</a></li>
</ul></li>
<li><a href="#competitive-analysis">Competitive Analysis</a>
<ul>
<li><a href="#cloud-providers">Cloud providers</a></li>
</ul></li>
<li><a href="#history">History</a></li>
<li><a href="#humour">Humour</a></li>
</ul>
<!-- mdformat-toc end -->
<h2 id="basics">Basics</h2>
<p><img align="right" width="50%" src="./assets/cloud-software-stack-billing.jpg"/></p>
<p>In a Stanford class providing an <a
href="https://web.stanford.edu/class/cs349d/docs/L01_overview.pdf">overview
of cloud computing</a>, the software architecture of the platform is
described as in the right diagram →</p>
<!--lint disable double-link-->
<p>Billing is one of the transversal pillar of the ecosystem, where
customers, products and business meets. The <a
href="https://github.com/kdeldycke/awesome-iam/">other pillar being
Identity and Access Management (IAM) 👤</a>.</p>
<!--lint enable double-link-->
<p>This highlight the strategic importance of the domain, not only for
cloud providers but virtually any business, especially those who are
software-centric.</p>
<ul>
<li><p><a
href="https://arnon.dk/5-things-i-learned-developing-billing-system/">5
things I learned while developing a billing system</a> - A great
introduction on all the various aspects of a billing system, from
currency to invoices, including great illustrations on the logic of
changing plans. All these topics are detailed in dedicated sections
below.</p></li>
<li><p><a
href="https://github.com/open-guides/og-aws#billing-and-cost-management">Open
guide to AWS</a> - Links to the <em>Billing and Cost Management</em>
section which details the broad characteristics of billing for a cloud
provider.</p></li>
<li><p><a href="https://xunroll.com/thread/1668082843728367616">Billed
for ¥21,120, invoiced at ¥2,112,000 and paid ¥2,112,000</a> - <a
href="https://xunroll.com/thread/1599113889093890049">Get rid of
integers and floats for monetary values</a>. Use decimals. Or face the
risks of anomalous x100 charges.</p></li>
<li><p>How to recruit software engineers in this domain? “The trick is
to make the accounting/billing/payment department the antechamber of
data engineering.” (<a
href="https://x.com/kdeldycke/status/1422564355799924736">source</a>)</p></li>
</ul>
<h2 id="pricing">Pricing</h2>
<p>From monthly subscription to commodity-like on-the-go consumption,
theres plenty of scheme out there to structure your products pricing.
Including the good old shopping-cart funnel.</p>
<ul>
<li><p><a
href="https://neildavidson.com/downloads/dont-just-roll-the-dice-2.0.0.pdf">Dont
just roll the dice Software pricing guide</a> - Huge and complete
collection of pricing scheme, with their psychological effect and impact
on revenue model.</p></li>
<li><p><a
href="https://reasonstreet.co/business-model-library/">Business Model
Patterns</a> - A list of 15 different ways to sell products and
services.</p></li>
<li><p><a href="https://archive.ph/BFsZ1">Axial - Business models</a> -
38 models for inspiration.</p></li>
<li><p><a
href="https://medium.com/breadcrumb/the-network-monetization-map-aligning-incentives-with-revenue-b73c362d1ad5">The
Network Monetization Map: Aligning Incentives with Revenue</a> - 6
models of monetization relying on network effect.</p></li>
<li><p><a href="https://priceops.org">The 5 Pillars of PriceOps</a> - A
manifesto inspired by the DevOps movement in which pricing is no longer
ossified, but is practiced as a responsive iteration process, and
implemented as a flexible property of the system.</p></li>
<li><p><a href="https://saaspricingexplorer.hyperline.co">SaaS pricing
explorer</a> - A collection of 1000+ pricing pages for
inspiration.</p></li>
</ul>
<h3 id="usage-based-pricing">Usage-based Pricing</h3>
<p>The dynamic scheme for elastic resources.</p>
<ul>
<li><p><a
href="https://www.rdegges.com/2020/the-only-type-of-api-services-ill-use/">Why
I Love Usage-Based Pricing</a> - “The most important reason I like this
pricing model is that it heavily incentivizes both the customer and the
service provider to act in everyones best interest.” Also details
issues with other pricing models.</p></li>
<li><p><a href="https://news.ycombinator.com/item?id=19830022">Use-cases
for cloud services</a> - The reason usage-based pricing makes even more
sense for cloud services: to optimize ROI, keep all regular workload in
traditional architecture and reserve cloud computing for elastic and
experimental projects.</p></li>
<li><p><a
href="https://webee.technion.ac.il/people/shimkin/PAPERS/Menache-CloudPricing-Conf2011.pdf">Socially
Optimal Pricing of Cloud Computing Resources</a> - “The socially optimal
operating point is unique, and can be sustained by a linear, usage-based
tariff, which charges a fixed price per unit resource and unit time.”
This paper justify usage-based pricing for cloud resources.</p></li>
<li><p><a
href="http://www.cs.newpaltz.edu/~lik/publications/Peijin-Cong-ACM-CS-a-2020.pdf">A
Survey of Profit Optimization Techniques for Cloud Providers</a> - “The
strategy of improving user service quality is discussed first, followed
by the pricing strategy for cloud resources to maximize
revenue.”</p></li>
<li><p>“Billing is not complex on purpose: its the price to pay for
elasticity.” (<a
href="https://x.com/kdeldycke/status/1214160678363246592">source</a>) -
Or why youre likely to get an endless stream of complaining users if
choosing utility pricing scheme: while accurate to the (milli-)cent,
this model is frustrating for customers not ready to invest time
grasping the underlying concepts.</p></li>
<li><p><a href="https://en.wikipedia.org/wiki/Riemann_sum">Riemann
sum</a> - The starting point about quantization of usage.</p></li>
<li><p><a
href="https://en.wikipedia.org/wiki/Allen%27s_interval_algebra">Allens
interval algebra</a> - Implementing usage-based pricing is tricky, and
this algebra will help you organize temporal reasoning. Also see this <a
href="https://web.archive.org/web/20240413010618/https://stackoverflow.com/questions/12069082/allens-interval-algebra-operations-in-sql?rq=1">Stack
Overflow question with clean schema</a>.</p></li>
<li><p><a
href="https://medium.com/@lukwam/reconcile-your-monthly-gcp-invoice-with-bigquery-billing-export-b36ae0c961e">Reconcile
Your Monthly GCP Invoice with BigQuery Billing Export</a> - Behind the
quest of this developer to track its expenses, you get a glimpse on
cloud billing difficulties. While not explicitly pointed out, pricing
cloud resources is hard and the result of quantization, granularity and
rounding, between space, time and currencies.</p></li>
<li><p><a
href="https://roberttisdale.com/aws-ec2-t2-instances-demystified-dont-learn-hard-way/">AWS
EC2 T2 Instances Demystified: Dont Learn The Hard Way</a> - An example
of really tricky burstable instances which accrues and limits its own
amount of CPU usage credits.</p></li>
<li><p><a
href="https://news.ycombinator.com/item?id=23536919">“Designing billing
for a service can be really challenging”</a> - Personal anecdote on the
design of the pricing plan for AWS Simple Email Service.</p></li>
<li><p><a
href="https://techcrunch.com/2021/01/29/subscription-based-pricing-is-dead-smart-saas-companies-are-shifting-to-usage-based-models/">Subscription-based
pricing is dead: Smart SaaS companies are shifting to usage-based
models</a> - Usage-based pricing is more optimal and more fair: it
“allows a customer to start at a low cost, minimizing friction to
getting started while still preserving the ability to monetize a
customer over time”.</p></li>
<li><p><a
href="https://www.electropedia.org/iev/iev.nsf/index?openform&amp;part=691">Electropedia:
Tariffs for electricity</a> - Before the cloud, there was another
metered resource priced by its usage: electricity. Here is a detailed
(and multi-lingual) taxonomy of its vocabulary from the International
Electrotechnical Commission.</p></li>
<li><p><a href="https://github.com/getlago/lago">Lago</a> - Open-source
metering &amp; usage-based billing in Ruby.</p></li>
<li><p><a href="https://github.com/cgrates/cgrates">CGRateS</a> - An
open-source, fast (50k+ CPS) and scalable (load-balancer + replication
included) real-time billing for ISPs and Telecom Operators, written in
Go.</p></li>
</ul>
<h3 id="subscription-plans">Subscription Plans</h3>
<p>Highly popular for SaaS businesses, subscription plans are easy to
comprehend.</p>
<ul>
<li><p><a
href="https://stripe.com/en-in/atlas/guides/saas-pricing">Pricing
low-touch SaaS</a> - “In low-touch SaaS, the most common way packages
are presented are as different columns in a pricing grid, with each
column corresponding to a plan, offered at a different price, with
differential access to features or maximum allowable usage along some
axis interesting to the business.”</p></li>
<li><p><a href="https://github.com/uselotus/lotus">Lotus</a> -
Open-source project to manage pricing &amp; packaging
infrastructure.</p></li>
<li><p><a
href="https://github.com/furkansenharputlu/f-license"><code>f-license</code></a>
- Open-source license key generation and verification tool in
Go.</p></li>
</ul>
<h3 id="hybrid">Hybrid</h3>
<p>Uncommon pricing schemes.</p>
<ul>
<li><a href="https://tomtunguz.com/three-part-tariffs/">The Three Part
Tariff</a> - Beyond linear pricing, there is a place for additional
platform fees and free-tiers in the pricing structure.</li>
</ul>
<h3 id="strategy">Strategy</h3>
<p>Theory and practical insight to help you choose the right pricing
tactics.</p>
<ul>
<li><p>“There are two ways to make money. You can bundle, or you can
unbundle.” - <a
href="https://hbr.org/podcast/2014/07/marc-andreessen-and-jim-barksdale-on-how-to-make-money.html#:~:text=in%20business%2C%20there%20are%20two%20ways%20to%20make%20money.%20You%20can%20bundle%2C%20or%20you%20can%20unbundle.">Jim
Barksdale</a>.</p></li>
<li><p><a
href="https://www.nickkolenda.com/psychological-pricing-strategies/">Pricing
Psychology</a> - Which numbers should you use? How high should it be?
Should it be rounded? This guide has 42 tricks to help you choose the
best price.</p></li>
<li><p><a
href="https://tomtunguz.com/how-to-price-your-startups-product/">The 7
factors to consider when pricing your startup product</a> - Pricing is
an offensive tool to reinforce your product value and underscore the
company core marketing message.</p></li>
<li><p><a
href="https://sbigrowth.com/hubfs/SBI_PI_AnatomyofSaaSPricingStrategy_Handbook.pdf">The
Anatomy of SaaS Pricing Strategy</a> - Explain how to articulate the
pricing of SaaS businesses around the product strategy.</p></li>
<li><p><a
href="https://blog.gingerlime.com/2020/the-cup-of-coffee-pricing-fallacy/">The
cup-of-coffee pricing fallacy</a> - Explains why it is a sloppy
analogy.</p></li>
<li><p><a
href="https://monkeynoodle.org/2024/02/10/changing-the-pricing-model/">Changing
the Pricing Model</a> - A couple of ways to re-license your
product.</p></li>
</ul>
<h3 id="market-research">Market Research</h3>
<p>Survey methods and price discovery techniques to find the right price
point.</p>
<ul>
<li><p><a href="https://youtu.be/vYrWTDxoeGg?t=542">Jeremy Howard - From
Predictive Modelling to Optimization</a> - “In insurance, the price is
the product. (…) How do I change price to make shitload of money?” Or
how to deliver results (optimal price for a customer) instead of
delivering data (calculating a customers risk, which had been the
standard approach used by actuaries previously).</p></li>
<li><p><a
href="https://en.wikipedia.org/wiki/Gabor%E2%80%93Granger_method">GaborGranger
method</a> - Used in surveys to determine the price for a new product or
service. The results can be used to produce a demand chart and a revenue
curve.</p></li>
<li><p><a
href="https://en.wikipedia.org/wiki/Van_Westendorp%27s_Price_Sensitivity_Meter">Van
Westendorps Price Sensitivity Meter</a> - PSM is a market technique for
determining consumer price preferences. Allows for drawing a revenue
curve to estimate the price point delivering the maximum
revenue.</p></li>
<li><p><a
href="https://kevinlynagh.com/notes/pricing-niche-products/">Pricing
niche products</a> - “The most compelling argument against simply
picking a price, though, is that it limits how much you can learn about
your market.” Then the author setup vickrey auctions to discover
price.</p></li>
<li><p><a
href="https://medium.com/@hovm/finding-the-max-revenue-price-mark-for-digital-products-24cef24f746d">Finding
the max revenue price mark for digital products</a> - “To find the
optimal price that provides maximum revenue for your product you will
need to field-test several price points; you then reconstruct the
revenue curve and find the peak.”</p></li>
<li><p><a
href="https://www.econstor.eu/bitstream/10419/205221/1/de-Streel-Jacques.pdf">Personalised
pricing and EU law</a> - Some cases of price personalisation are
prohibited in EU due to consumer protection and data protection
rules.</p></li>
</ul>
<h2 id="product-catalog">Product Catalog</h2>
<p>The central repository of all available services, products, variants,
options and pricing available to the customer to purchase. Catalogs for
cloud services are most of the time tailor-made, but there is some
classic PDM solutions (<a
href="https://en.wikipedia.org/wiki/Product_information_management">Product
Data Management</a>, a.k.a. PIM for Product Information Management) out
there that might fit the bill.</p>
<ul>
<li><p><a
href="https://cloud.google.com/blog/products/gcp/introducing-cloud-billing-catalog-api-gcp-pricing-in-real-time">GCP
Product Catalog</a> - All GCP SKUs available as an API.</p></li>
<li><p><a href="https://github.com/akeneo/pim-community-dev">Akeneo
PIM</a> - The open-source variant of the commercial Akeneo
products.</p></li>
<li><p><a href="https://github.com/pimcore/pimcore">Pimcore</a> - An
open-source UI and database to manage product metadata, written in PHP
Symfony.</p></li>
<li><p><a href="https://github.com/openpim">OpenPIM</a> - A streamlined
open-source project, focusing on PIM-only features.</p></li>
<li><p><a
href="https://medium.com/@slavapedak/comparing-3-free-and-open-source-product-information-management-pim-solutions-e83a1898f91e">Comparing
3 open source PIM solutions</a> - Comparative study of the 3 projects
above.</p></li>
</ul>
<h2 id="calculator">Calculator</h2>
<p>Simulate a virtual invoice depending on the resource you plan to
use.</p>
<ul>
<li><p><a href="https://www.cloudorado.com">Cloudorado</a> - A
comparison matrix which use ECU (Amazons vCPU) as a CPU power measure
unit.</p></li>
<li><p><a href="https://ec2instances.info">EC2Instances.info</a> - Easy
Amazon EC2 Instance Comparison.</p></li>
</ul>
<h2 id="cost-forecast">Cost Forecast</h2>
<p>Help your customers predict their upcoming and future consumption
based on their past usage.</p>
<ul>
<li><p><a href="https://otexts.com/fpp2/">Forecasting: Principles and
Practice</a> - “Comprehensive introduction to forecasting methods and to
present enough information about each method for readers to be able to
use them sensibly.”</p></li>
<li><p><a
href="https://web.archive.org/web/20221203184815/https://www.uber.com/blog/transforming-financial-forecasting-machine-learning/">Transforming
Financial Forecasting with Data Science and Machine Learning at Uber</a>
- Discusses how Uber apply data science and machine learning in their
financial planning platforms.</p></li>
<li><p><a
href="https://www.liip.ch/en/blog/time-series-prediction-a-short-comparison-of-best-practices">Time
Series Prediction - A short introduction for pragmatists</a> - Great
introduction on how time series can be used to evaluate business
problems.</p></li>
<li><p><a
href="https://github.com/alan-turing-institute/sktime/blob/master/examples/01_forecasting.ipynb">Forecasting
with sktime</a> - A more detailed tutorial on how to use past data to
make temporal forward predictions. And be aware of the <a
href="https://news.ycombinator.com/item?id=24543861">differences between
sktime and the Prophet project</a> mentioned in the article
above.</p></li>
<li><p><a href="https://github.com/unit8co/darts">Darts</a> - Python
library for user-friendly forecasting and anomaly detection on time
series. It wraps a huge number of models, including <a
href="https://facebook.github.io/prophet/">Prophet</a>. Great for
experiments, but bear in mind that all the <a
href="https://news.ycombinator.com/item?id=37665435">models in Darts
expects</a> that your data comes at a very regular interval, and make a
lot of assumptions about their shape.</p></li>
<li><p><a href="https://github.com/mlabouardy/komiser">Komiser</a> -
Open-source tool to stay under budget by uncovering hidden costs,
monitoring increases in spend, and making impactful changes based on
custom recommendations.</p></li>
<li><p><a
href="https://cloud.google.com//billing/docs/how-to/reports#cost-forecast">GCP
Cost Forecast</a> - An example of consumption trend line for resource
consumption.</p></li>
<li><p><a href="https://aws.amazon.com/forecast/">AWS Forecast</a> - A
full-featured hosted product to perform forecasting on any
time-series.</p></li>
<li><p><a
href="https://threadreaderapp.com/thread/1091041507342086144.html">How
to save money on your AWS bill</a> - “The biggest cost savings there
are: 1. Turning things off that youre not using; 2. Then spot
instances; 3. Then reserved instances.”</p></li>
</ul>
<h2 id="marketplace">Marketplace</h2>
<p>A marketplace connect supply with demand that lead to a financial
transaction. If there is no payment involved, then it is an aggregator,
or a hub. Not a marketplace.</p>
<ul>
<li><p><a
href="https://www.kdd.org/kdd2018/accepted-papers/view/customized-regression-model-for-airbnb-dynamic-pricing">Customized
Regression Model for Airbnb Dynamic Pricing</a> - This paper describes
the pricing strategy model deployed at Airbnb.</p></li>
<li><p><a
href="https://github.com/papers-we-love/papers-we-love/tree/master/economics#auctions-and-bidding">Papers
we love: Auctions and Bidding</a> - A collection of papers on bidding
and auctions.</p></li>
<li><p><a href="https://en.wikipedia.org/wiki/Vickrey_auction">Vickrey
auction</a> - Hinted by an <a
href="https://news.ycombinator.com/item?id=19145391">HN comment</a>, in
which yes, “Asking people what theyd pay for and how much rarely
works. (…) [but] using a Vickrey auction, similar to Googles ad
auction mechanism, can elicit a persons maximum
willingness-to-pay.”</p></li>
<li><p><a
href="https://www.nfx.com/post/19-marketplace-tactics-for-overcoming-the-chicken-or-egg-problem">19
Tactics to Solve the Chicken-or-Egg Problem and Grow Your
Marketplace</a> - “Which comes first, the supply or the demand? Chicken
or egg?”</p></li>
<li><p>How to Kickstart and Scale a Marketplace Business: <a
href="https://www.lennysnewsletter.com/p/how-to-kickstart-and-scale-a-marketplace">Constrain
the marketplace</a>; Decide which side of the marketplace to concentrate
on; Drive initial supply; Drive initial demand. A 4-parts series with
dozen of interviews of people with direct experience building and
scaling marketplaces.</p></li>
<li><p><a
href="https://abovethecrowd.com/2013/04/18/a-rake-too-far-optimal-platformpricing-strategy/">A
Rake Too Far: Optimal Platform Pricing Strategy</a> - A bit of
vocabulary: “In a casino, the term <em>rake</em> refers to the
commission that the house earns for operating a poker game. (…) While
casinos use the term <em>rake</em>, a plethora of interesting word
choices exist which all describe the same thing keeping a little bit
of the revenue for the company that is running the service.”</p></li>
</ul>
<h3 id="cloud-resources">Cloud Resources</h3>
<p>This sub-section focus on bid/ask mechanism matching resource
producer with consumers. Most of the time these are one-sided markets
with the big platform trying to amortized under-utilized inventory.</p>
<ul>
<li><p><a
href="https://papers.agoric.com/assets/pdf/papers/incentive-engineering-for-computational-resource-management.pdf">Incentive
Engineering for Computational Resource Management</a> - Paper exploring
the “mechanisms for the allocation of processor time and storage that
are compatible both with programming practice and with market
mechanisms.”</p></li>
<li><p><a
href="http://www.sigmetrics.org/mama/2013/abstracts2013/UrgaonkarEtAl.pdf">Pricing
of Service in Clouds: Optimal Response and Strategic Interactions</a> -
“How should the consumer modulate its demand to optimize its profits?
(…) How should the provider and consumer negotiate the specific pricing
structure they will employ?” Covers non-linear models, tiered pricing,
elastic demand, consumer et provider strategies.</p></li>
<li><p><a
href="https://henryhxu.github.io/share/hxu-tcc2013.pdf">Dynamic Cloud
Pricing for Revenue Maximization</a> - “Amazons spot price is unlikely
to be set according to market supply and demand. Rather, price
oscillates within a very narrow band most of the time, which is more
likely to be an artifact of some pricing algorithm with predetermined
reserve price.”</p></li>
<li><p><a href="https://mc4f.ee/Papers/PDF/EconPublicCloud.pdf">Usage
Patterns and the Economics of the Public Cloud</a> - “We examine the
economics of demand and supply in cloud computing. (…) These results
explain why fixed prices currently prevail despite the seeming need for
time-varying dynamics. Examining the actual CPU utilization provides a
lens into the future. (…) demand fluctuations would be on par with the
three classic industries where dynamic pricing is important (hotels,
electricity, airlines) and dynamic prices would be essential for
efficiency.”</p></li>
<li><p><a href="https://arxiv.org/pdf/1507.02545.pdf">Maximizing Profit
of Cloud Brokers under Quantized Billing Cycles: a Dynamic Pricing
Strategy based on Ski-Rental Problem</a> - “The key idea of our
algorithms is to use pricing signal to regulate user demand. One may
argue that such an algorithm gives poor service to the user as it pushes
tasks out of the queue in order to maximize cloud brokers
profit.”</p></li>
<li><p><a
href="https://web.archive.org/web/20150708151037/http://www.temple.edu/cis/icdcs2013/data/5000a410.pdf">Present
or Future: Optimal Pricing for Spot Instances</a> - “Pricing policy of
spot resources should be carefully designed and the impact on both
present and future should be considered.”</p></li>
<li><p>“You always pay the spot market price, not your bid.” (<a
href="https://news.ycombinator.com/item?id=20347716">source</a>) -
Simple explanation of the bidding mechanism.</p></li>
<li><p><a
href="https://dants.github.io/papers/Spotprice11CloudCom.pdf">Deconstructing
Amazon EC2 Spot Instance Pricing</a> - “Cloud providers possessing large
quantities of spare capacity must either incentivize clients to purchase
it or suffer losses. Amazon is the first cloud provider to address this
challenge, by allowing clients to bid on spare capacity and by granting
resources to bidders while their bids exceed a periodically changing
spot price.”</p></li>
<li><p><a href="https://news.ycombinator.com/item?id=9564287">GCP
Preemptible VMs vs AWS Spot Instances</a> - “Googles prices are fixed,
whereas AWS uses a market model”.</p></li>
<li><p>“Look at the 3-month spot price history to estimate cost and to
discover combinations of availability zone and instance type with extra
capacity.” (<a
href="https://news.ycombinator.com/item?id=16071684">source</a>) - Users
are seeking more transparency on the spot market.</p></li>
<li><p><a
href="http://highscalability.com/blog/2017/12/4/the-eternal-cost-savings-of-netflixs-internal-spot-market.html">The
Eternal Cost Savings Of Netflixs Internal Spot Market</a> - When youre
big enough that <a
href="https://medium.com/netflix-techblog/creating-your-own-ec2-spot-market-6dd001875f5">creating
an internal secondary market</a> for instances makes economic
sense.</p></li>
<li><p><a
href="https://github.com/AutoSpotting/AutoSpotting">AutoSpotting</a> -
Tool that easily and reliably converts (all) your existing AutoScaling
groups to cheaper spot instances.</p></li>
</ul>
<h3 id="online-ads">Online Ads</h3>
<p>Targeted online advertisements marketplaces have a lot in common with
traditional cloud marketplace. Some good inspiration there, from
concepts to tech.</p>
<ul>
<li><p><a
href="https://github.com/PragmaticLab/RTB_Budget_Pacing_Summarized">RTB
Budget Pacing Summarized</a> - A collection of budget pacing resources
for targeted online advertisements.</p></li>
<li><p><a
href="https://github.com/eloraiby/fs-pacer/blob/master/fs-pacer.md">Samsungs
online ads platform/exchange war story</a> - How to scale to 5M bid
request/s, 2ms Max Response Time.</p></li>
<li><p><a href="https://github.com/RTB4FREE"><code>RTB4Free</code></a> -
Open Source Bidder and Demand Side Platform (DSP).</p></li>
</ul>
<h2 id="accounting">Accounting</h2>
<ul>
<li>“The Accounting department is usually backwards facing. The Finance
department is usually forwards facing.” (<a
href="https://news.ycombinator.com/item?id=25366184">source</a>)</li>
</ul>
<h3 id="double-entry-model">Double-Entry Model</h3>
<p>The core concept of accounting is double-entry. It is the most
critical part to grasp in order to properly design any robust system
that tracks money.</p>
<ul>
<li><p><a
href="https://docs.google.com/document/d/1HDLRa6vKpclO1JtxbGB5NeAYWf8cf1UMGy22o8OZZq4">Accounting
for Developers 101</a> - A general introduction to history and
vocabulary of accounting.</p></li>
<li><p><a
href="https://martin.kleppmann.com/2011/03/07/accounting-for-computer-scientists.html">Accounting
for Computer Scientists</a> - Describes how to view accounting in the
form of graphs in which money flows, then how these movements are
materialized in the financial statements of a small company.</p></li>
<li><p><a
href="https://beancount.github.io/docs/the_double_entry_counting_method.html">The
Double-Entry Counting Method</a> - Same premise as above, but way more
detailed and complete, as it adds reporting and implementation
details.</p></li>
<li><p><a
href="https://www.odoo.com/documentation/functional/accounting.html">Accounting
Memento For Entrepreneurs (US GAAP)</a> - An interactive form to play
with accounting concepts.</p></li>
</ul>
<h3 id="bookkeeping">Bookkeeping</h3>
<p>Everything you need to know about the daily practice of keeping your
accounting data clean and tidy.</p>
<ul>
<li><p><a
href="https://www.dwmbeancounter.com/BCTutorials/BCIntro/index.html">So,
you want to learn Bookkeeping!</a> - Focus on the daily operations of
recording and maintaining the transactions of a business.</p></li>
<li><p><a
href="https://bam.kalzumeus.com/archive/a-game-that-intentionally-frustrates-the-player/">Reconciliation:
A game designed to frustrate the player</a> - “Reconciliation is a
business process which arises almost entirely because of a lack of
structured data in the pipelines that convey money between businesses”.
There are some hack to streamline the process, like adding an arbitrary
discount to produce unique trailing decimals, or setup a couple of
virtual bank accounts as proxy.</p></li>
<li><p><a href="https://plaintextaccounting.org/#software">Plain text
accounting tools</a> - Extensive list of open-source personal finance
projects that might be great to look into for inspiration on
double-entry accounting and bookkeeping.</p></li>
<li><p>And a list of graphical accounting tools: <a
href="https://gnucash.org">GNUCash</a> (GTK+), <a
href="https://grisbi.org">Grisbi</a> (C), <a
href="https://firefly-iii.org">Firefly III</a> (PHP).</p></li>
<li><p><a
href="https://www.gnucash.org/docs/v2.4/C/gnucash-guide/">GnuCash
Tutorial and Concepts Guide</a> - A complete tutorial on personal
finance tracking with GnuCash.</p></li>
<li><p><a href="https://github.com/frappe/books">Frappe Books</a> - Free
Desktop book-keeping software for small-businesses and
freelancers.</p></li>
<li><p><a href="https://github.com/brandon-rhodes/luca">Luca</a> - YAML
accounting and JSON tax forms.</p></li>
<li><p><a href="https://github.com/decimals/sequence">Sequence</a> - API
that store, validate and reports asset movements. Also known as a
Ledger. Sequence is immutable, scalable, and easy to use.</p></li>
<li><p><a href="https://github.com/darcys22/godbledger">Go DB Ledger</a>
- An open source accounting system that aims to make the recording of
double entry bookkeeping transactions programmable.</p></li>
<li><p><a href="https://github.com/numary/ledger">Ledger</a> - A
scriptable financial ledger, designed to make it easy to model complex
financial transactions.</p></li>
<li><p><a href="https://github.com/akaunting/akaunting">Akaunting</a> -
Open source software designed for small businesses and
freelancers.</p></li>
</ul>
<h3 id="software-design-and-implementation">Software design and
implementation</h3>
<p>Now that youre somewhat familiar with the concepts and practice of
accounting, here are some resources to help you implement that knowledge
into software systems.</p>
<ul>
<li><p><a href="https://blog.plover.com/prog/Moonpig.html">Moonpig: a
billing system that doesnt suck</a> - Design decisions behind a billing
and accounting system. Key takeaway: some companies still pays by
checks; do not use floats; complex customer workflows; date and time
issues; mutable data.</p></li>
<li><p><a
href="https://developer.squareup.com/blog/books-an-immutable-double-entry-accounting-database-service/">Books,
an immutable double-entry accounting database service</a> - Explain the
basic data model of a double-entry accounting system relying on Google
Spanner for internal use at Square.</p></li>
<li><p><a href="https://github.com/coilhq/tigerbeetle">TigerBeetle</a> -
A distributed financial accounting database to ensure that the money
either moves, or doesnt move, that it doesnt get lost somewhere in
between. It has been <a
href="https://jepsen.io/analyses/tigerbeetle-0.16.11">tested on
Jepsen</a>, which tested its strong serializability.</p></li>
<li><p><a href="https://django-hordak.readthedocs.io">Django Hordak</a>
- Core functionality of a double entry accounting system for
Django.</p></li>
<li><p><a
href="https://github.com/django-oscar/django-oscar-accounts">Managed
accounts for Django</a> - A managed account is an allocation of money
that can be debited and credited.</p></li>
<li><p><a href="https://sci-hub.st/10.1111/acfi.12556">Tripleentry
accounting with blockchain: How far have we come?</a> - “Tripleentry
accounting is a new and a more efficient way to address fundamental
trust and transparency issues that plague current accounting systems.
Tripleentry accounting with blockchain, when properly implemented, can
fundamentally improve accounting.”</p></li>
</ul>
<h3 id="currencies">Currencies</h3>
<p>Global companies needs to know how to juggle between local
currencies.</p>
<ul>
<li><a
href="https://www.mathstat.dal.ca/~selinger/accounting/tutorial.html">Tutorial
on multiple currency accounting</a> - An excellent resource for
implementing multi-currency accounting systems.</li>
</ul>
<h2 id="finance">Finance</h2>
<p>Once youve got your accounts in order, you can start extracting
insights and metrics from your financial data.</p>
<ul>
<li><p><a
href="https://www.amazon.com/dp/0273744704?&amp;linkCode=ll1&amp;tag=kevideld-20&amp;linkId=f491ee18c48fdaf3226904a39612cc22&amp;language=en_US&amp;ref_=as_li_ss_tl">Accounts
Demystified: The Astonishingly Simple Guide To Accounting</a> - Helps
you learn how to analyse and monitor your companys financial
performance.</p></li>
<li><p><a href="https://commoncog.com/blog/cash-flow-games/">The Games
People Play With Cash Flow</a> - “Malone created a new accounting
metric, something he called earnings before interest, depreciation, and
taxes, or EBITDA.” This is how a cable company CEO made sense of cash
flow, like real-estate business did. The article starts with this
example and describes other cash flow games for SaaS models.</p></li>
<li><p><a
href="https://www.amazon.com/dp/1422119157?&amp;linkCode=ll1&amp;tag=kevideld-20&amp;linkId=8d87e9235a1a05c4e0bec4b25230f28d&amp;language=en_US&amp;ref_=as_li_ss_tl">Financial
Intelligence for Entrepreneurs: What You Really Need to Know About the
Numbers</a> - Allows you to fully understand how to use financial data
to make better decisions for your business.</p></li>
<li><p><a
href="https://www.finops.org/introduction/what-is-finops/">What is
FinOps</a> - A framework for tech finance and business leadership teams
to share the same language and processes of cloud operations and
management.</p></li>
<li><p><a
href="https://www.amazon.com/dp/9814287113?&amp;linkCode=ll1&amp;tag=kevideld-20&amp;linkId=3d8973d09f9143db8db8639615d12413&amp;language=en_US&amp;ref_=as_li_ss_tl">Algebraic
Models for Accounting Systems</a> - Advanced abstract algebra applied to
the analysis of accounting systems.</p></li>
</ul>
<h2 id="contracts">Contracts</h2>
<p>All the invoicing terms &amp; conditions are materialzed by the
contract signed between the end-user and the service provider. Thats
the source from where we derives all the rules of the billing cycle.</p>
<ul>
<li><p><a
href="https://threadreaderapp.com/thread/1389946268764475394.html">Is
this what Enterprise mean?</a> - When contracts, invoicing and payments
are not working together, you end up alienating your big enterprise
customers. See the associated HN comments <a
href="https://news.ycombinator.com/item?id=27053246">on bulk license
purchase</a>.</p></li>
<li><p><a
href="https://www.stigg.io/blog-posts/entitlements-untangled-the-modern-way-to-software-monetization">Entitlements
untangled: The modern way to software monetization</a> - “The concept of
Entitlements encapsulates the feature access settings under various
product variants (aka Pricing Plans or Packages), bridging the gap
between how a product is sold and how it behaves for a variant. In
essence, entitlements are a set of permissions defining what a customer
(paying or non-paying) can do with your software application.”</p></li>
<li><p><a
href="https://66degrees.com/comparing-cuds-suds-and-commits-in-google-cloud/">CUDs
vs. Commit Contracts vs. SUDs in Google Cloud</a> - Explains the
differences between various types of discounts and usage commitments in
GCP.</p></li>
<li><p><a
href="https://sci-hub.st/https://www.pnas.org/doi/pdf/10.1073/pnas.1510501113">Quantity
discounts on a virtual good: The results of a massive pricing
experiment</a> - “Implementing price reductions ranging from 970% for
large purchases, we found remarkably little impact on revenue, either
positively or negatively.” If discounts are a placebo and are still
widely used in the industry, maybe they are a marketing hack to lure big
customers?</p></li>
<li><p>“It used to be I could just give a lump sum and let Google Ads
play until there is no more budget. Not anymore.” - (<a
href="https://news.ycombinator.com/item?id=36325785">source</a>) -
Google Ads used to implement a concept of capped actuals. A kind of
monthly budget with rollover, which is an optimal billing scheme to
limit surprises for customers. It always looked to me as a way to sell
quotas.</p></li>
</ul>
<h2 id="coupons-and-vouchers">Coupons and Vouchers</h2>
<ul>
<li><p><a
href="https://www.backblaze.com/blog/raising-prices-is-hard/">Raising
Prices is Hard</a> - Backblaze post-mortem on raising prices on their
main offer. They wanted to create an extension program based on credit
system. This became a full-time job for a handful of their most senior
engineers, and resulted in a six month project.</p></li>
<li><p><a
href="https://blog.digitalocean.com/details-on-expiring-digitalocean-credits/">Details
on Expiring DigitalOcean Credits</a> - The reason you have to add an
time limit on credits: unused ones accounts as liabilities on our
balance sheet.</p></li>
<li><p><a href="https://fant.io/p/hacking-voi/">Hacking Scooters: How I
Created $100k Worth Of Free Rides</a> - A cautionary tale on how promo
codes can be exploited to get unlimited free rides.</p></li>
<li><p><a
href="https://web.archive.org/web/20230404113232/https://www.reuters.com/article/us-pinduoduo-china/chinas-pinduoduo-reports-theft-of-online-discount-vouchers-to-police-idUSKCN1PE05J">Chinas
Pinduoduo reports theft of online discount vouchers to police</a> - The
next level of fraud: “an online collective exploited a loophole on its
platform to steal tens of millions of yuan worth of discount
vouchers”.</p></li>
<li><p><a
href="https://eur-lex.europa.eu/legal-content/EN/TXT/HTML/?uri=CELEX:32016L1065">Council
Directive 2016/1065 as regards the treatment of vouchers</a> - European
directive on the application of VAT when vouchers are involved.</p></li>
<li><p><a
href="https://justinjackson.ca/the-coupon-code-is-a-slap-in-the-face">The
coupon code is a slap in the face</a> - Point the negative consequences
of users encountering a blank coupon field without having a coupon. See
the update at the end of the article with research backing up this
anecdote.</p></li>
</ul>
<h2 id="taxes">Taxes</h2>
<ul>
<li><p><a
href="https://web.archive.org/web/20240227073911/https://www.mass.gov/lists/2017-tax-software-developers-guides">2017
Tax Software Developers Guides</a> - A list of test cases for
developers to test their tax code against.</p></li>
<li><p><a
href="https://github.com/kdeldycke/vat-rates">{Digital,Cloud,Electronic,Online}
Services VAT Rate Database</a> - Centralize applicable VAT rates on
foreign online services, for each country of residence (including
territorial exceptions).</p></li>
<li><p><a
href="https://www.avalara.com/vatlive/en/global-vat-gst-on-e-services.html">Global
VAT &amp; GST on digital services</a> - List of countries requiring
application of taxes on foreign provided online services.</p></li>
<li><p>“British supermarkets (…) charge you a fee for their backend card
processing, but they subtract that fee from your checkout price.” (<a
href="https://news.ycombinator.com/item?id=22047028">source</a>) - Which
allows them to <a
href="https://www.gov.uk/guidance/vat-guide-notice-700#section4">claim
the VAT on processing fees as input tax</a>.</p></li>
<li><p><a
href="https://www.streamlinedsalestax.org/about-us/about-sstgb">Streamlined
Sales Tax Governing Board</a> - A multi-states US initiative to automate
and standadize sales tax accounting and collection.</p></li>
</ul>
<h3 id="european-vat">European VAT</h3>
<ul>
<li><a
href="https://medium.com/slight-pause/how-to-setup-saas-subscriptions-correctly-to-charge-vat-in-europe-d75d857b5d01">How
to correctly setup SaaS subscriptions to charge VAT in Europe</a> - “If
you think you can just setup a simple Stripe integration and move on,
like us, youd be sadly mistaken.”</li>
</ul>
<!--lint disable double-link-->
<ul>
<li><a
href="https://eur-lex.europa.eu/legal-content/EN/TXT/HTML/?uri=OJ:L:2006:347:FULL">Council
Directive 2006/112/EC</a> - European Union reference on the common
system of VAT.</li>
</ul>
<!--lint enable double-link-->
<ul>
<li><a href="https://news.ycombinator.com/item?id=8767388">What does the
“Reverse Charge” refer to?</a> - Answer: a provision in which a business
transfer the responsibility of VAT handling to the customer.</li>
</ul>
<h2 id="invoice">Invoice</h2>
<p>The invoice materialize a consumed service or purchased product,
waiting to be settled by a payment transaction.</p>
<ul>
<li><a href="https://news.ycombinator.com/item?id=17517479">On GCP
invoiced billing</a> - <a
href="https://cloud.google.com/billing/docs/how-to/invoiced-billing">Invoiced
billing</a> is a B2B-friendly payment happening after the service is
consumed and an invoice issued. It seems to be a pain to setup on GCP
but I suspect is a consequence of trying to reduce (costly) fraud.</li>
</ul>
<h3 id="structure">Structure</h3>
<!--lint disable double-link-->
<ul>
<li><a
href="https://eur-lex.europa.eu/legal-content/EN/TXT/HTML/?uri=OJ:L:2006:347:FULL#d1e6510-1-1">Content
of EU invoices</a> - The information required on a EU invoice is
detailed by Article 226, Section 4 (Content of invoices) of Council
Directive 2006/112/EC on the common system of VAT.</li>
</ul>
<!--lint enable double-link-->
<h3 id="integrity">Integrity</h3>
<p>Once issued, an invoice must be immutable.</p>
<ul>
<li><p><a
href="https://medium.com/google-developers/digital-signatures-how-sleek-leverages-cloud-hsm-to-guarantee-the-integrity-of-legal-documents-a7bd3b82faf6">Digital
signatures: how Sleek leverages Cloud HSM to guarantee the integrity of
legal documents</a> - Here is a great way to rely on GCPs HSM to
digitally sign documents and provide an immutable audit-trail. Might be
applied to invoices as well as contract agreements.</p></li>
<li><p><a href="https://opentimestamps.org">OpenTimestamps</a> - Go
beyond the solution above, and timestamp immutable document directly on
Bitcoins blockchain.</p></li>
<li><p><a href="https://en.wikipedia.org/wiki/Credit_note">Credit
note</a> - Because an invoice is immutable, the only way to fully or
partially cancel it is to produce a credit note.</p></li>
</ul>
<h3 id="generators">Generators</h3>
<ul>
<li><p><a href="https://github.com/hql287/Manta">Manta</a> - Flexible
invoicing desktop app with beautiful &amp; customizable
templates.</p></li>
<li><p><a
href="https://github.com/InvoicePlane/InvoicePlane">InvoicePlane</a> - A
self-hosted open-source application for managing your invoices, clients
and payments.</p></li>
<li><p><a
href="https://github.com/by-cx/InvoiceGenerator">InvoiceGenerator</a> -
Library to generate a simple invoices.</p></li>
<li><p><a href="https://github.com/code-mancers/invoicing">Ruby
Invoicing Framework</a> - For generating and displaying invoices (ideal
for commercial Rails apps). It allows for flexible business logic;
provides tools for tax handling, commission calculation etc.</p></li>
<li><p><a href="https://github.com/sajjon/klirr">klirr</a> -
Zero-maintenance and smart FOSS CLI tool for generating beautiful
invoices for services and expenses.</p></li>
</ul>
<h3 id="extractors">Extractors</h3>
<ul>
<li><a href="https://github.com/naiveHobo/InvoiceNet">InvoiceNet</a> -
Deep neural network to extract intelligent information from invoice
documents.</li>
</ul>
<h3 id="electronic-invoices">Electronic invoices</h3>
<ul>
<li><p><a href="https://github.com/akretion/factur-x">Factur-X</a> -
Python library to support the e-invoicing standard for France and
Germany.</p></li>
<li><p><a
href="https://en.wikipedia.org/wiki/Universal_Business_Language">Universal
Business Language</a> - Most invoicing software can read and write UBL
documents (XML) for data transfer.</p></li>
<li><p><a
href="https://ec.europa.eu/digital-building-blocks/sites/display/DIGITAL/eInvoicing+HUB">EU
eInvoicing</a> - European standard on electronic invoice.</p></li>
<li><p><a href="https://gobl.org">GOBL</a> - JSON Schema, Open Source Go
library, global tax database, with conversion tools, all in
one.</p></li>
</ul>
<h2 id="payments">Payments</h2>
<ul>
<li><p><a
href="https://web.archive.org/web/20230204235716/http://aynuriev.com/best-payment-gateway-startups/">The
Best Payment Gateway for Startups</a> - A benchmark of top payment
providers, their pricing and models.</p></li>
<li><p><a
href="https://medium.com/airbnb-engineering/avoiding-double-payments-in-a-distributed-payments-system-2981f6b070bb">Avoiding
Double Payments in a Distributed Payments System</a> - RDBMS were build
for banks around transactions to solve that specific issue. Then NoSQL
came forcing us to carefully implement systems to avoid double
spending.</p></li>
<li><p><a
href="https://monzo.com/blog/2019/06/20/why-bank-transfers-failed-on-30th-may-2019/">Monzos
bank transfers post-mortem</a> - Or why you should be prepared for and
work around gateway providers outages.</p></li>
<li><p><a
href="https://www.moderntreasury.com/journal/how-to-build-an-insurance-company">How
to Build an Insurance Company</a> - The importance of payment ops
architecture.</p></li>
<li><p><a
href="https://single-market-economy.ec.europa.eu/smes/sme-strategy/late-payment-directive_en">EUs
Late Payment Directive</a> - European rules on applicable fees for late
payments.</p></li>
<li><p><a href="https://news.ycombinator.com/item?id=20043944">High
failure rate of Point Of Sale devices in the upper Midwest</a> - The
root cause? People wearing a lot of wool in low humidity air, generating
a lot of static.</p></li>
<li><p>How ACH works: A developer perspective, <a
href="https://engineering.gusto.com/how-ach-works-a-developer-perspective-part-1-339d3e7bea1">part
1</a>, <a
href="https://engineering.gusto.com/how-ach-works-a-developer-perspective-part-2-7a890638c4dd">part
2</a>, <a
href="https://engineering.gusto.com/how-ach-works-a-developer-perspective-part-3-cd98728cf31f">part
3</a>, <a
href="https://engineering.gusto.com/how-ach-works-a-developer-perspective-part-4-718a48cb8d2c">part
4</a>, <a
href="https://engineering.gusto.com/how-ach-works-a-developer-perspective-part-5-1d998bbcd82c">part
5</a>.</p></li>
<li><p><a
href="https://blogs.dropbox.com/tech/2017/09/handling-system-failures-during-payment-communication/">Handling
system failures during payment communication</a> - Dropboxs experience
trying to account for an unreliable payment provider.</p></li>
<li><p><a href="https://wpchrg.wordpress.com">Why was I charged?</a> -
Under a constant stream of user complaints about payments, WordPress
created a dedicated subdomains to help customers understand unexpected
transactions. The trick was to add this URL directly in the bank
statement.</p></li>
<li><p><a href="https://github.com/juspay/hyperswitch">Hyperswitch</a> -
Open-source backend for payment processing.</p></li>
<li><p><a href="https://github.com/moov-io">moov</a> - Open-source
infrastructure for financial technology.</p></li>
<li><p><a href="https://github.com/finos">Fintech Open Source
Foundation</a> - Another set of open-source projects for financial
projects.</p></li>
</ul>
<h3 id="receipt">Receipt</h3>
<p>A receipt materialize the payment transaction.</p>
<ul>
<li><p><a href="https://susielu.com/data-viz/reviziting-the-receipt">The
humble receipt gets a brilliant redesign</a> - When a Netflix data
engineer revisit receipts.</p></li>
<li><p><a
href="https://www.vox.com/the-goods/2018/10/10/17956950/why-are-cvs-pharmacy-receipts-so-long">The
long, long history of long, long CVS receipts</a> - “CVS is a drugstore
much like other drugstores, with one important difference: The receipts
are very long.”</p></li>
</ul>
<h3 id="credit-cards">Credit Cards</h3>
<p>The most popular payment device.</p>
<ul>
<li><p><a
href="https://www.cbc.ca/news/business/banking-information-shared-with-third-parties-1.5102931">Is
that even legal?: Companies may be sharing new credit or debit card
information without you knowing</a> - Some credit and debit card
companies have “updating service” that allows new account numbers and
expiry dates to be shared with merchants. Visas implementation is
called <a href="https://developer.visa.com/capabilities/vau">VAU</a> and
Mastercards is <a
href="https://developer.mastercard.com/product/automatic-billing-updater-abu/">ABU</a>.</p></li>
<li><p><a
href="https://stripe.com/guides/strong-customer-authentication">Strong
Customer Authentication</a> - <a
href="https://en.wikipedia.org/wiki/Payment_Services_Directive">Payment
Services Directive</a> 2, explained.</p></li>
<li><p><a
href="https://en.wikipedia.org/wiki/Address_Verification_System">Address
Verification System</a> - A system checking the matching of customers
billing addresses with the one associated with the credit card.</p></li>
<li><p><a
href="https://github.com/pjfoley/pci-blackbox">pci-blackbox</a> -
PCI-DSS compliant card system built on PostgreSQL and PL/pgSQL.</p></li>
</ul>
<h3 id="bank-accounts">Bank Accounts</h3>
<p>The old-fashioned way of payment: by the way of banks.</p>
<ul>
<li><p><a
href="https://blog.yossarian.net/2019/12/25/A-shallow-dive-into-the-American-banking-system">A
(shallow) dive into the American banking system</a> - Collection of
miscellaneous notes primarily focused on the common cases of routable
accounts, i.e. checking and savings.</p></li>
<li><p><a href="https://openiban.com">Open IBAN</a> - Free and public
IBAN validation and calculation webservice.</p></li>
<li><p><a href="https://bank.codes/swift-code/">Swift Codes</a> - Swift
/ BIC codes for personal use only.</p></li>
<li><p><a href="https://github.com/PeterNotenboom/SwiftCodes">Swift
Codes Repository</a> - A repository that seems to scrape the website
above.</p></li>
<li><p><a href="https://en.wikipedia.org/wiki/EPC_QR_code">EPC QR
code</a> - EU standard for QR codes used to transfer money between bank
accounts via SEPA.</p></li>
</ul>
<h3 id="online-payments">Online Payments</h3>
<p>The usual money transfer services.</p>
<ul>
<li><p><a href="https://blog.setu.co/articles/upi-101-the-basics">UPI
101: The Basics</a> - “In this article, we will learn about Indias
Unified Payments Interface. A four-year-old payment scheme that has been
accounting for 40-45% of digital payments across India.”</p></li>
<li><p><a
href="https://kaimi.io/en/2022/07/20-years-of-payment-processing-problems-en/">20
years of payment processing problems</a> - A huge collection of
everything that went wrong, and still is, with payment APIs from the
past 2 decades. Any issue exposed in this article that gets unaddressed
will end up as stolen money.</p></li>
<li><p><a
href="https://www.wired.co.uk/article/stripe-payments-apple-amazon-facebook">The
untold story of Stripe</a> - In which we learn that “once turnover hit a
certain level, Paypal automatically put the business on a 21 to 60 day
rolling reserve, meaning that up to 30 per cent of a companys revenue
could be locked up for up to two months.”</p></li>
<li><p><a
href="https://developers.google.com/standard-payments/reference/idempotency">Idempotency
in the context of payments</a> - “Idempotency prevents race conditions.
Idempotency dictates that multiple identical requests from the same
client do not result in a different final state.”</p></li>
<li><p><a
href="https://dropbox.tech/machine-learning/optimizing-payments-with-machine-learning">Optimizing
payments with machine learning</a> - Describes a classic payment
workflow, then how machine learning can replace hard-coded business
rules and fine-tune the payment failures/retries loop to increase the
success rates of charges.</p></li>
</ul>
<h2 id="fraud">Fraud</h2>
<p>Theres monetary incentives to exploit your business. Be prepared to
fight hordes of fraudsters and shady users.</p>
<ul>
<li><a href="https://arxiv.org/pdf/1411.6721v1.pdf">Detecting fraudulent
activity in a cloud using privacy-friendly data aggregates</a> -
Discusses a method to detect fraudulent activity (launching DDoS
attacks, Bitcoin mining, …) by using non-intrusive, privacy-friendly
data: billing data.</li>
</ul>
<!--lint disable double-link-->
<ul>
<li><a href="https://github.com/kdeldycke/awesome-iam#fraud">Awesome
List of IAM: Fraud links</a> - Section dedicated to fraud management
related to user accounts, from our sister repository.</li>
</ul>
<!--lint enable double-link-->
<ul>
<li><p><a href="https://youtu.be/yJKWpTBVTiI?t=60">Driving Global Fraud
Losses Down While Empowering Business Growth</a> - In this talk by Uber
Eats, we learn from the biggest payment processor that “growing
businesses with declining loss rates is extremely rare in the industry”.
Also, fraud can takes several forms: chargebacks on non-perishable
goods, promo abuse, refunds…</p></li>
<li><p><a
href="https://www.bitsaboutmoney.com/archive/kyc-and-aml-beyond-the-acronyms/">KYC
and AML: beyond the acronyms</a> - KYC is nuanced and fuzzy, because it
is a stochastic process to reduce risk.</p></li>
<li><p><a
href="https://github.com/benedekrozemberczki/awesome-fraud-detection-papers">Awesome
Fraud Detection Research Papers</a> - Papers sourced from several
conferences on all sort of fraud: credit card, payment transactions,
loans, customs inspections, money laundering networks, and
more.</p></li>
</ul>
<h3 id="cards">Cards</h3>
<p>The majority of fraud is exploiting the most common popular payment
device: credit cards.</p>
<ul>
<li><p><a
href="https://fraud-detection-handbook.github.io/fraud-detection-handbook/">Reproducible
Machine Learning for Credit Card Fraud detection</a> - A practical
handbook on how to identify patterns in transactions.</p></li>
<li><p><a
href="https://www.freecodecamp.org/news/stopping-credit-card-fraud-and-saving-our-nonprofit/">How
I Stopped a Credit Card Thief From Ripping Off 3,537 People and Saved
Our Nonprofit in the Process</a> - Describe a fraud technique known as
“card testing”, in which massive batch of stolen cards are checked for
their validity against your API.</p></li>
<li><p><a
href="https://www.candyjapan.com/behind-the-scenes/how-i-got-credit-card-fraud-somewhat-under-control">How
Candy Japan got credit card fraud somewhat under control</a> -
Suggestions involved either <a
href="https://www.candyjapan.com/behind-the-scenes/fraudulent-transaction-warning-signs">warning
signals</a> for trying to guess which orders might be fraud, or
countermeasures to try to make things harder for the
fraudsters.</p></li>
<li><p><a
href="https://web.archive.org/web/20220327085654/https://blog.sift.com/2013/five-ecommerce-fraud-facts/">Five
Fun Fraud Facts</a> - Another tiny collection of features we can feed to
a ML system to detect fraud. Comments on HN also unearthed <a
href="https://news.ycombinator.com/item?id=6376350">more qualifying
signals</a> and <a
href="https://news.ycombinator.com/item?id=6376221">derived geodata on
the transaction</a>.</p></li>
<li><p><a
href="https://medium.com/@curiousily/credit-card-fraud-detection-using-autoencoders-in-keras-tensorflow-for-hackers-part-vii-20e0c85301bd">Credit
Card Fraud Detection using Autoencoders in Keras</a> - Tutorial on how
to rely on anomaly detection to implement suspicious card
transactions.</p></li>
<li><p><a
href="https://threadreaderapp.com/thread/1315452323330621440.html">Training
an ML model to score chargebacks</a> - An example of a platforms
network effect, which allows to predict the likelihood of winning a
dispute.</p></li>
<li><p><a
href="https://kromtech.com/blog/security-center/digital-laundry">How
credit card thieves use free-to-play apps to launder gains</a> - To
prevent abuses, service provider must strengthen both credit card
verification and the account creation process.</p></li>
</ul>
<h3 id="trust-score">Trust Score</h3>
<p>Synthetic score based on a collection of signals are often the best
proxy of users trustworthiness. Customer support most of the time rely
on them to take action when these actions are not triggered
automatically.</p>
<ul>
<li><p><a
href="https://cloudplatform.googleblog.com/2018/07/improving-our-account-management-policies-to-better-support-customers.html">GCP
improved account management policies to better support customers</a> -
Or why relying too much on fraud automation might lead to disgruntled
users.</p></li>
<li><p><a
href="https://blog.digitalocean.com/an-update-on-last-weeks-customer-shutdown-incident/">Digital
Oceans Update on Customer Shutdown Incident</a> - Aggressively shutting
down user servers is good from a business point of view to prevent
fraudster abusing free resources, until its not.</p></li>
<li><p><a
href="https://github.com/mourarthur/awesome-credit-modeling#readme">Awesome
Credit Modeling</a> - How to use statistical methods to classify
applicants into categories to reduce risks. Lots of inspiration and
research papers there to improve general scoring.</p></li>
</ul>
<h3 id="statistics">Statistics</h3>
<p>Best tools to automate fraud detection.</p>
<ul>
<li><p><a
href="https://en.wikipedia.org/wiki/Benford&#39;s_law">Benfords law</a>
- Digit distribution can be a signal of accounting fraud.</p></li>
<li><p><a href="https://arxiv.org/pdf/1410.6059.pdf">Integer percentages
as electoral falsification fingerprints</a> - In the same spirit as
above, this paper show that frequency of reported round numbers in
election is a signal of man-made anomalies. Might be applicable in some
fraud-fighting area.</p></li>
<li><p><a href="https://en.wikipedia.org/wiki/Huber_loss">Huber loss</a>
- “A loss function used in robust regression, that is less sensitive to
outliers in data than the squared error loss.”</p></li>
<li><p><a
href="https://blog.ytotech.com/2015/11/01/findpeaks-in-python/">Peak
Detection in the Python World</a> - Simple way to detect
outliers.</p></li>
<li><p><a href="https://news.ycombinator.com/item?id=39021273">Method to
check if you swapped 2 digits</a> - Standard manual accounting trick
employed when isolating an error in a double ledger.</p></li>
</ul>
<h3 id="billing">Billing</h3>
<ul>
<li><p><a
href="https://www.zdnet.com/article/more-than-600-million-users-installed-android-fleeceware-apps-from-the-play-store/">More
than 600 million users installed Android fleeceware apps from the Play
Store</a> - A new kind of fraud, in which apps silently keep charging
users after the end of the trial period.</p></li>
<li><p><a href="https://www.knowbe4.com/ceo-fraud">CEO Fraud</a> - A
billing team responsible for collecting payment is prey to this kind of
fraud, in which the CEO is impersonated to commend exceptional payment
transactions.</p></li>
<li><p><a
href="https://web.stanford.edu/class/cs349d/docs/theimer.pdf">The
Challenges of Operating a Computing Cloud and Charging for its Use</a> -
Skip the first 90% of this presentation by an AWS VP (which is about
general system reliability). The last four slides are a good summary of
what billing cloud services entails, especially the use of soft quotas
to limit fraud.</p></li>
<li><p><a href="http://www.s3.eurecom.fr/docs/eurosp17_sahin.pdf">Fraud
in Telephony Networks</a> - Most of telephony frauds gravitates around
billing and the metering of micro-transactions. This paper feature a
taxonomy (on page 6) differentiating the root causes, vulnerabilities,
exploitation techniques, and the way fraudsters can benefits from
them.</p></li>
</ul>
<h2 id="uxui">UX/UI</h2>
<p>Users gets easily angry when it comes to money. UX and UI might helps
a lot to reduce frustration.</p>
<ul>
<li><p><a
href="https://developer.apple.com/design/human-interface-guidelines/in-app-purchase#Autorenewable-subscriptions">Apple
In-app purchase Human Interface Guidelines</a> - Guide and
recommendation on how to make <a
href="https://developer.apple.com/app-store/subscriptions/">auto-renewable
subscriptions</a> user-friendly.</p></li>
<li><p><a
href="https://capitalandgrowth.org/questions/2055/which-has-a-higher-conversion-rate-a-single-long-e.html">Which
has a higher conversion rate: A single long ecommerce checkout form or a
multi-step one?</a> - Focus first on other things in the cart, like
easing anxiety and second-guessing by adding reassurance (trust marks,
testimonials) near the credit card and completion steps, as well as some
guarantee language that you may have used earlier in the product
exploration process.</p></li>
<li><p><a href="https://useautumn.com/blog/backendless">We tried to make
billing backendless</a> - Failed attempt to move the billing experience
by from backend to frontend because of security.</p></li>
</ul>
<h2 id="business-intelligence">Business Intelligence</h2>
<p>As stakeholder of the billing pipeline, you sat on all the critical
data to measure and report on the health of the business.</p>
<h3 id="metrics">Metrics</h3>
<p>Definition and collection of Key Performance Indicators (KPIs) worth
monitoring.</p>
<ul>
<li><p><a
href="https://www.stephnass.com/blog/startup-financial-model">Startup
financial models - 12 templates compared for SaaS</a> - A great source
of inspiration to get better visibility in your operations.</p></li>
<li><p><a href="https://a16z.com/2015/08/21/16-metrics/">16 Startup
Metrics</a> - The 2 critical metrics being Customer Acquisition Cost
(CAC) and Customer Lifetime Value (CLV).</p></li>
<li><p><a href="https://jlongster.com/thinking-growth-profit">Thinking
about growth and profit</a> - Discuss the relationship between
investments, profit and growth, and how it influence decisions on
pricing, free trials and plan structure.</p></li>
<li><p><a
href="https://tribecap.co/a-quantitative-approach-to-product-market-fit/">A
Quantitative Approach to Product Market Fit</a> - Metrics produced above
have a greater reach, as theyre used as important signals to validate
product-market fit.</p></li>
<li><p><a href="http://growth.tlb.org">Startup growth calculator</a> -
Simple yet effective interactive profitability calculator for
startups.</p></li>
<li><p><a
href="http://minesafetydisclosures.com/blog/2019/7/23/part-ll-an-overview-of-visa">An
Overview of Visa</a> - Great breakdown of Visa business models and
metrics.</p></li>
<li><p><a
href="https://web.archive.org/web/20230205234207/https://baremetrics.com/blog/saas-financial-model">The
SaaS Financial Model Youll Actually Use</a> - A complete tour of the
financials of a startup, which gives you extra-context on how the
metrics you produce fit into the larger picture.</p></li>
</ul>
<h3 id="customer-lifetime-value">Customer Lifetime Value</h3>
<p>How much net value do you produce per customer? The Customer Lifetime
Value (CLV, or LTV for Life-Time Value) quantify that. Understanding and
acting on it is the most important part of your businesss sales
efforts.</p>
<ul>
<li><p><a
href="https://medium.com/swlh/youre-all-calculating-churn-rates-wrong-cbab072cd992">Youre
all calculating churn rates wrong</a> - “On the surface, churn rate may
seem like a natural proxy for changes in customer lifetimes. Lets dig
into why that is not true.” Churn rate is not a meaningful metric to
compute CLV: during the customer lifetime, the churn probability is not
constant. Most of the time because of your free trial and vouchers. This
article illustrate the influence of the distribution used to model the
probability of a customer quitting.</p></li>
<li><p><a
href="https://faculty.wharton.upenn.edu/wp-content/uploads/2012/04/Fader_hardie_jim_07.pdf">How
to project customer retention</a> - A seminal paper, with a stronger
approach compared to the one above: <a
href="https://news.ycombinator.com/item?id=24833319">the exponential
distributions is replaced by a geometric model</a>, which is better
suited to discrete time intervals like monthly contracts, the former
being more appropriate to continuous time process.</p></li>
<li><p><a
href="https://two-wrongs.com/survival-analysis-for-customer-retention.html">Survival
Analysis For Customer Retention</a> - Illustrates how retention can be
better modelled using a survival function like <a
href="https://two-wrongs.com/bootstrapping-kaplan-meier-confidence-intervals.html">KaplanMeier
survival curves</a>.</p></li>
<li><p><a
href="https://en.wikipedia.org/wiki/RFM_%28customer_value%29">RFM
(customer value)</a> - A refined model of CLV, used to segment users
based on Recency, Frequency and Monetary value.</p></li>
<li><p><a
href="https://towardsdatascience.com/customer-churn-prediction-with-text-and-interpretability-bd3d57af34b1/">Churn
Prediction</a> - “How to use Python in a simplistic way to fuel your
companys growth by applying the predictive approach to all your
actions.” Relies on XGBoost binary classification.</p></li>
<li><p><a
href="https://github.com/pymc-labs/pymc-marketing">PyMC-Marketing</a> -
A full-featured Python package to analyze your users based on their
“alive” and “dead” states.</p></li>
<li><p><a
href="https://github.com/chrisclark/retentionizer"><code>retentionizer</code></a>
- Python package to show the projected retention rates for each cohort
and calculate the LTV of a given customer in that cohort.</p></li>
</ul>
<h3 id="data-engineering">Data Engineering</h3>
<p>To industrialize data production and consumption, your need data
engineers to clean up, persist and consolidate data. Only after you get
these data foundations you might think of onboarding data
scientists.</p>
<ul>
<li><p><a
href="https://web.archive.org/web/20171009002725/https://blog.insightdatascience.com/how-emerging-ai-roles-fit-in-the-data-landscape-d4cd922c389b?gi=ebcf517502c7">AI
vs Data Science vs Data Engineering</a> - “Data Engineers build data
pipelines and infrastructure to ensure a constant availability of
transformed data. Data Scientists analyze and build models from these
data to develop new product features or drive the bottom line of the
business.” As for AI professionals, their focus is on cognitive
automation.</p></li>
<li><p><a
href="https://www.martingoodson.com/ten-ways-your-data-project-is-going-to-fail/">Ten
Ways Your Data Project is Going to Fail</a> - You dont need data
scientists. “For ETL, hire data engineers. For reporting, hire BI
analysts. The end.”</p></li>
<li><p><a
href="http://blog.richardweiss.org/2017/07/25/data-science-in-organizations.html">Cargo
cult data science</a> - “Data science is best viewed as a form of
company culture, rather than a set of technologies. However, many firms
will try to create that company culture by acquiring data-science
technology, rather than working on their culture.”</p></li>
<li><p><a
href="https://web.archive.org/web/20250524184249/https://stackoverflow.com/questions/3730019/why-not-use-double-or-float-to-represent-currency/3730040#answer-3730040">Why
not use Double or Float to represent currency?</a> - Because of
precision: floats and doubles cannot accurately represent the base 10
multiples that we use for money.</p></li>
<li><p><a
href="https://husobee.github.io/money/float/2016/09/23/never-use-floats-for-currency.html">Never
Use Floats for Money</a> - “This is precisely the problem we have when
trying to represent 10^-1, or 0.1 in binary. There is not an exact
binary representation of 0.1 or 0.01.”</p></li>
<li><p><a href="https://ankush.dev/p/neumann_architecture">The Soul of
an Old Machine: Revisiting the Timeless von Neumann Architecture</a> -
Floats were suspicious even before the first general-purpose computer
(EDVAC) was built: “Von Neumann wasnt entirely sold on why we might
need floating-point numbers. He was quite vocal in his critique of
floating-point numbers.” The author of this article complement this
critique by illustrating the issue of precision and rounding.</p></li>
<li><p><a
href="https://eusprig.org/research-info/horror-stories/">European
Spreadsheet Risks Interest Group - Horror Stories</a> - A collection of
cases in which uncontrolled and untested spreadsheet models led to lost
revenue, mispricing, poor decision making, fraud and systemic financial
failure.</p></li>
</ul>
<h3 id="tools">Tools</h3>
<p>Software to build visualizations, dashboards, SQL queries and drill
down into data.</p>
<ul>
<li><p><a href="https://pbpython.com">Practical Business Python</a> - A
blog collecting and spreading ideas on how to use Python more
effectively in the business setting.</p></li>
<li><p><a
href="https://github.com/getredash/redash"><code>redash</code></a> -
Connect and query your data sources, build dashboards to visualize data
and share them with your company.</p></li>
<li><p><a href="https://github.com/metabase/metabase">Metabase</a> -
Metabase is an open source solution to explore and visualize data and
supports lots of databases.</p></li>
<li><p><a href="https://github.com/apache/incubator-superset">Apache
Superset</a> - Enterprise-ready business intelligence web
application.</p></li>
<li><p><a href="https://github.com/meltano/meltano">Meltano</a> - Open
source convention-over-configuration product for the whole data
lifecycle, all the way from loading data to analyzing it.</p></li>
</ul>
<h2 id="competitive-analysis">Competitive Analysis</h2>
<p>A bunch of resources to keep track of the current status and progress
of all companies operating in the domain.</p>
<ul>
<li><p><a href="https://news.ycombinator.com/item?id=34773821">Patents
on billing systems of the dot-com era</a> - All of them have been
abandoned and constitute prior art. This means there is nothing to
prevent anybody to implement or commercialize these concepts.</p></li>
<li><p>“You need a slightly more sophisticated developer team to cobble
together a billing platform” (<a
href="https://www.techemails.com/i/124009734/google-pms-on-stripe">source</a>)
- Googles Product Director take on building billing systems: you need a
certain kind of engineers to tackle that domain. It is not for
everyone.</p></li>
</ul>
<h3 id="cloud-providers">Cloud providers</h3>
<ul>
<li><p><a
href="https://aws.amazon.com/about-aws/whats-new/aws-cost-management/">AWS
Cost Management announcements</a> - The source of all new features added
to the billing perimeter.</p></li>
<li><p><a
href="https://web.archive.org/web/20240602133657/https://www.prosperops.com/wp-content/uploads/2022/01/ris_and_savings_plans.png">AWS
reserved instances vs saving plan</a> - A feature matrix of the
different scheme and their average dicounts.</p></li>
<li><p><a href="https://cloud.google.com/billing/docs/release-notes">GCP
billing release notes</a> - Latest changes of GCP billing
features.</p></li>
<li><p><a
href="https://www.gcpweekly.com/gcp-resources/tag/billing/">GCP billing
news</a> - From the unofficial Google Cloud Platform
newsletter.</p></li>
<li><p><a
href="https://cloud.google.com/blog/products/compute/more-choice-less-complexity-new-compute-engine-pricing-options-on-tap">More
choice, less complexity: New Compute Engine pricing options on tap</a> -
A wrap-up of recent GCP pricing features.</p></li>
<li><p><a href="https://en.wikipedia.org/wiki/Orbitera">Orbitera</a> -
GCPs billing subsidiary.</p></li>
<li><p><a
href="http://docs.digitalocean.com/release-notes/billing/">DigitalOcean
Billing changelog</a> - All the latest billing updates on DO.</p></li>
</ul>
<h2 id="history">History</h2>
<ul>
<li><p>“Larry Page went to U of M and used the Michigan Terminal System.
(…) when Google was working on App Engine, Page took inspiration from
MTS and would exhort engineers to follow its example. (…) when I look at
my AWS and GCP bills now, it feels very familiar!” (<a
href="https://news.ycombinator.com/item?id=35123587">source</a>) - The
direct filiation between old-school university mainframes and current
cloud services.</p></li>
<li><p><a
href="https://commoncog.com/product-development-iterated-taste/">Product
Development as Iterated Taste</a> - AWS sacrificed the simplicity of
subscription pricing for S3 and went instead with a safe cost-following
strategy because they had no clue how the users will use their
service.</p></li>
<li><p><a href="https://en.wikipedia.org/wiki/%C2%A3sd#Computing">£sd
computing</a> - The IBM 1401 mainframe (1959) optionally supported
pounds/shillings/pence (£sd) currency arithmetics in hardware.</p></li>
<li><p><a
href="http://bitsavers.trailing-edge.com/communications/westernElectric/books/Engineering_and_Operations_in_the_Bell_System_2ed_1984.pdf">Engineering
and Operations in the Bell System</a> - Starting at page #445, the “10.5
Billing Equipment and Systems” section describe the history and
technical evolutions of Bells phone calls metering and
pricing.</p></li>
<li><p><a
href="https://www.bostonglobe.com/ideas/2014/06/07/the-vanished-grandeur-accounting/3zcbRBoPDNIryWyNYNMvbO/story.html">The
vanished grandeur of accounting</a> - Accounting paintings were a
significant genre in Dutch art.</p></li>
<li><p><a
href="https://archive.org/details/graphicmethodsfo00brinrich/page/336/mode/2up?view=theater&amp;ui=embed&amp;wrapper=false">Graphic
methods for presenting facts</a> - A way to optimize pricing using a
physical model made in plaster of Paris, from 1914.</p></li>
</ul>
<h2 id="humour">Humour</h2>
<p>Billing is not funny.</p>
<ul>
<li><a href="https://detax.framer.website">Detax</a> - A site mockup of
an tax avoidance product for small businesses.</li>
</ul>
<h2 id="contributing">Contributing</h2>
<p>Your contributions are always welcome! Please take a look at the <a
href=".github/contributing.md">contribution guidelines</a> first.</p>
<h2 id="footnotes">Footnotes</h2>
<p>The <a
href="https://github.com/kdeldycke/awesome-billing/blob/main/assets/awesome-billing-header.jpg">header
image</a> is based on a modified <a
href="https://unsplash.com/photos/u2zSzMTwIjQ">photo</a> by <a
href="https://unsplash.com/@redaquamedia">Denny Müller</a>.</p>
<!--lint disable no-undefined-references-->
<p><a name="intro-quote-def">[1]</a>: <a
href="https://www.amazon.com/dp/0062316095?_encoding=UTF8&amp;psc=1&amp;linkCode=ll1&amp;tag=kevideld-20&amp;linkId=71ccb002da0dbe49c502954960175b66&amp;language=en_US&amp;ref_=as_li_ss_tl"><em>Sapiens:
A Brief History of Humankind</em></a> (Harper, 2015). <a
href="#intro-quote-ref">[↑]</a></p>
<p><a href="https://github.com/kdeldycke/awesome-billing">billing.md
Github</a></p>