An open API service indexing awesome lists of open source software.

awesome-billing

💰 Billing & Payments knowledge for cloud platforms
https://github.com/kdeldycke/awesome-billing

Last synced: 16 days ago
JSON representation

Accounting

Bookkeeping

  • So, you want to learn Bookkeeping! - Focus on the daily operations of recording and maintaining the transactions of a business.
  • Plain text accounting tools - Extensive list of open-source personal finance projects that might be great to look into for inspiration on double-entry accounting and bookkeeping.
  • GnuCash Tutorial and Concepts Guide - A complete tutorial on personal finance tracking with GnuCash.
  • Frappe Books - 🆓 Free desktop book-keeping software for small-businesses and freelancers, with no paid edition.
  • Luca - 🆓 YAML accounting and JSON tax forms, solo-maintained.
  • GNUCash - iii.org) (PHP).
  • Formance Ledger - 💸 MIT-licensed programmable double-entry ledger with the Numscript DSL, multi-currency, REST API, and Docker deployment usable standalone. Formance sells Enterprise add-ons (Wallets, Flows, Reconciliation, pre-built connectors, SSO, RBAC, audit logs) on top, but the core ledger is fully functional in OSS.
  • Blnk - 💸 Apache-2.0 double-entry ledger exposed as a REST API, with Go, TypeScript, Python and Java SDKs. Inflight transactions hold a pending leg until it is committed or voided, and the reconciliation engine matches external statements against custom rules. Blnk Finance sells a managed cloud adding back-office reports, audit logs and team permissions on top, but the core ledger, reconciliation and identity features are fully functional in OSS.

Currencies

Double-Entry Model

Online Ads

Software design and implementation

  • Moonpig: a billing system that doesn't suck - 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.
  • Books, an immutable double-entry accounting database service - Explain the basic data model of a double-entry accounting system relying on Google Spanner for internal use at Square.
  • Triple‐entry accounting with Blockchain: How far have we come? - “Triple‐entry accounting is a new and a more efficient way to address fundamental trust and transparency issues that plague current accounting systems. Triple‐entry accounting with Blockchain, when properly implemented, can fundamentally improve accounting.”
  • Managed accounts for Django - 🆓 A 'managed account' is an allocation of money that can be debited and credited. Community-maintained django-oscar extension.
  • TigerBeetle - 🆓 A distributed financial accounting database to ensure that the money either moves, or doesn't move, that it doesn't get lost somewhere in between. All features are in the Apache-2.0 OSS repo; TigerBeetle Inc. sells managed hosting and support, not gated features. It has been tested on Jepsen, which tested its strong serializability.
  • Django Hordak - 🆓 Core functionality of a double entry accounting system for Django, single-maintainer MIT library.

Basics

Business Intelligence

Customer Lifetime Value

  • How to project customer retention - A seminal paper, with a stronger approach compared to the one above: the exponential distributions is replaced by a geometric model, which is better suited to discrete time intervals like monthly contracts, the former being more appropriate to continuous time process.
  • RFM (customer value) - A refined model of CLV, used to segment users based on Recency, Frequency and Monetary value.
  • Churn Prediction - “How to use Python in a simplistic way to fuel your company's growth by applying the predictive approach to all your actions.” Relies on XGBoost binary classification.
  • PyMC-Marketing - 🆓 A full-featured Python package to analyze your users based on their "alive" and "dead" states. Apache-2.0 library stewarded by PyMC Labs, which only sells consulting services around it (no paid library tier).
  • You're all calculating churn rates wrong - “On the surface, churn rate may seem like a natural proxy for changes in customer lifetimes. Let's 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.

Data Engineering

  • Ten Ways Your Data Project is Going to Fail - You don't need data scientists. “For ETL, hire data engineers. For reporting, hire BI analysts. The end.”
  • Never Use Floats for Money - “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.”
  • European Spreadsheet Risks Interest Group - Horror Stories - A collection of cases in which uncontrolled and untested spreadsheet models led to lost revenue, mispricing, poor decision making, fraud and systemic financial failure.
  • AI vs Data Science vs Data Engineering - “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.
  • Cargo cult data science - “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.”
  • Why not use Double or Float to represent currency? - Because of precision: floats and doubles cannot accurately represent the base 10 multiples that we use for money.
  • The Soul of an Old Machine: Revisiting the Timeless von Neumann Architecture - Floats were suspicious even before the first general-purpose computer (EDVAC) was built: “Von Neumann wasn't 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.

Metrics

Tools

  • `redash` - 🆓 Connect and query your data sources, build dashboards to visualize data and share them with your company. Owned by Databricks but the hosted SaaS shut down in 2021, so the project is now community-maintained under the Databricks org with no paid Redash product.
  • Meltano - 🆓 Open source convention-over-configuration product for the whole data lifecycle, all the way from loading data to analyzing it. Meltano only sells managed Cloud hosting and support SLA on top of the OSS core.
  • Apache Superset - 🆓 Enterprise-ready business intelligence web application, governed by the Apache Software Foundation.
  • Practical Business Python - A blog collecting and spreading ideas on how to use Python more effectively in the business setting.

Calculator

Market Research

  • Cloudorado - 💸 A comparison matrix which use ECU (Amazon's vCPU) as a CPU power measure unit. Operated by Cloudorado as a commercial cloud-comparison product.
  • EC2Instances.info - 💸 Easy Amazon EC2 Instance Comparison. Operated by Vantage as a free lead-gen surface for its commercial FinOps platform.
  • Infracost - 💸 Cloud cost estimates from Terraform code, surfaced as a breakdown in the terminal or as a diff in pull requests before resources are provisioned. Infracost Inc. sells a hosted dashboard (Infracost Cloud) on top of the Apache-2.0 CLI.

Competitive Analysis

Cloud providers

Tools

  • Patents on billing systems of the dot-com era - All of them have been abandoned and constitute prior art. This means there is nothing to prevent anybody to implement or commercialize these concepts.
  • source - Google's Product Director take on building billing systems: you need a certain kind of engineers to tackle that domain. It is not for everyone.

Contracts

Currencies

  • Entitlements untangled: The modern way to software monetization - “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.”
  • Quantity discounts on a virtual good: The results of a massive pricing experiment - “Implementing price reductions ranging from 9–70% 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?
  • source - 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.
  • Is this what Enterprise mean? - When contracts, invoicing and payments are not working together, you end up alienating your big enterprise customers. See the associated HN comments on bulk license purchase.
  • CUDs vs. Commit Contracts vs. SUDs in Google Cloud - Explains the differences between various types of discounts and usage commitments in GCP.

Cost Forecast

Market Research

Coupons and Vouchers

Currencies

Finance

Currencies

Footnotes

Cloud providers

  • 1 - quote-ref)

Fraud

Billing

Cards

Online Payments

  • Awesome List of IAM: Fraud links - Section dedicated to fraud management related to user accounts, from our sister repository.
  • KYC and AML: beyond the acronyms - KYC is nuanced and fuzzy, because it is a stochastic process to reduce risk.
  • Detecting fraudulent activity in a cloud using privacy-friendly data aggregates - Discusses a method to detect fraudulent activity (launching DDoS attacks, Bitcoin mining, …) by using non-intrusive, privacy-friendly data: billing data.
  • Awesome Fraud Detection Research Papers - Papers sourced from several conferences on all sort of fraud: credit card, payment transactions, loans, customs inspections, money laundering networks, and more.
  • Tazama - 🆓 Open-source real-time transaction monitoring software for fraud and money laundering detection, governed by the Tazama Linux Foundation project. This is just an engine to define rules, weight them, and apply them to transactions. There is nothing specific to payments or financial transactions.
  • Mojaloop Fraud Risk Management - 🆓 Concrete AML rule implementations from the Mojaloop Foundation: transaction mirroring (90-100% amount-match window), multi-tier payee-graph traversal for layering detection, account-dormancy reactivation, large-transaction-payer, new-payee-transfer. Repo is archived but the rules are static reference material rarely seen elsewhere in OSS.

Statistics

Trust Score

History

Cloud providers

Humour

Cloud providers

  • Superman III - The 1983 film in which Gus Gorman, a laid-off clerk who retrains as a programmer, embezzles from his employer's payroll by skimming the fractions of a cent it rounds down.
  • Detax - A site mockup of an tax avoidance product for small businesses.

Invoice

Electronic invoices

  • Universal Business Language - Most invoicing software can read and write UBL documents (XML) for data transfer.
  • Factur-X - 🆓 Python library to support the e-invoicing standard for France and Germany.
  • GOBL - 💸 JSON Schema, Open Source Go library, global tax database, with conversion tools, all in one. Invopop sells a managed e-invoicing SaaS implementation on top of the open spec.
  • Invoice Security Vulnerabilities - European Union introduced a "standard" in XML format, which comes with a set of security vulnerabilities.

European VAT

  • On GCP invoiced billing - Invoiced billing 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.

Extractors

  • InvoiceNet - 🆓 Deep neural network to extract intelligent information from invoice documents.

Generators

  • InvoicePlane - 🆓 A self-hosted open-source application for managing your invoices, clients and payments. Community project, no paid edition.
  • InvoiceGenerator - 🆓 Python library to generate simple invoices.
  • klirr - 🆓 Zero-maintenance FOSS CLI tool for generating beautiful invoices for services and expenses.
  • Invoice Builder - 🆓 Offline-first desktop app to create, manage and export invoices and quotes to PDF, with all data kept in a local database you own.
  • microinvoice - 🆓 Fast Node.js library to generate PDF invoices with PDFKit, no headless browser required.

Integrity

Structure

  • Content of EU invoices - 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.

Marketplace

Cloud Resources

  • Incentive Engineering for Computational Resource Management - Paper exploring the “mechanisms for the allocation of processor time and storage that are compatible both with programming practice and with market mechanisms.”
  • Dynamic Cloud Pricing for Revenue Maximization - “Amazon's 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.”
  • Usage Patterns and the Economics of the Public Cloud - “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.”
  • Present or Future: Optimal Pricing for Spot Instances - “Pricing policy of spot resources should be carefully designed and the impact on both present and future should be considered.”
  • source - Simple explanation of the bidding mechanism.
  • Deconstructing Amazon EC2 Spot Instance Pricing - “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.”
  • GCP Preemptible VMs vs AWS Spot Instances - “Google's prices are fixed, whereas AWS uses a market model”.
  • source - Users are seeking more transparency on the spot market.
  • Pricing of Service in Clouds: Optimal Response and Strategic Interactions - “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.
  • Maximizing Profit of Cloud Brokers under Quantized Billing Cycles: a Dynamic Pricing Strategy based on Ski-Rental Problem - “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 broker's profit.”
  • History of Spot Instances - From AWS's original auction-based market (2009-2017) to provider-managed pricing across all major clouds today. Documents how transparent bidding was replaced by opaque algorithms.

Market Research

  • Customized Regression Model for Airbnb Dynamic Pricing - This paper describes the pricing strategy model deployed at Airbnb.
  • Vickrey auction - Hinted by an HN comment, in which yes, “‘Asking people what they'd pay for and how much rarely works.’ (…) Using a Vickrey auction, similar to Google's ad auction mechanism, can elicit a person's maximum willingness-to-pay.”
  • 19 Tactics to Solve the Chicken-or-Egg Problem and Grow Your Marketplace - “Which comes first, the supply or the demand? Chicken or egg?”
  • Constrain the marketplace - parts series with dozen of interviews of people with direct experience building and scaling marketplaces.
  • A Rake Too Far: Optimal Platform Pricing Strategy - A bit of vocabulary: “In a casino, the term rake refers to the commission that the house earns for operating a poker game. (…) While casinos use the term rake, 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.”
  • source - Mechanical Turk's rake was “20% (…) on the reward and bonus amount”, with a minimum fee of $0.01 per bonus payment, so a 7-cent bonus is billed one cent instead of 1.4: an effective 14.3% instead of 20%. The requester's round_payment() snaps every payout onto the 5-cent grid where that truncation always applies, and holds anything below 7 cents in the worker's wallet: “~$50 a day” saved. Rounding per transaction rather than per invoice hands the remainder to whoever picks the transaction amounts.

Online Ads

  • Samsung's online ads platform/exchange war story - How to scale to 5M bid request/s, 2ms Max Response Time.
  • `RTB4Free` - 🆓 Apache-2.0 OpenRTB 2.0-compliant bidder and Demand Side Platform (DSP). Largely dormant since late 2022, but the only OSS DSP reference in this niche.
  • RTB Budget Pacing Summarized - A reading list distilling research papers from Turn Inc., Yahoo, and LinkedIn on RTB budget pacing techniques. Static resource: dated but still a useful entry point into the literature.

Payments

Bank Accounts

  • A (shallow) dive into the American banking system - Collection of miscellaneous notes primarily focused on the common cases of routable accounts, i.e. checking and savings.
  • Swift Codes - Swift / BIC codes for personal use only.
  • Swift Codes Repository - 🆓 Static JSON dataset of SWIFT/BIC codes for banks worldwide, scraped from the site above. Last refreshed in 2019 but still the largest free reference; SWIFT codes change slowly so the data remains broadly usable.
  • EPC QR code - EU standard for QR codes used to transfer money between bank accounts via SEPA.
  • Open IBAN - 🆓 Free and public IBAN validation and calculation webservice.

Credit Cards

Electronic invoices

  • How to Build an Insurance Company - The importance of payment ops architecture.
  • High failure rate of Point Of Sale devices in the upper Midwest - The root cause? People wearing a lot of wool in low humidity air, generating a lot of static.
  • moov - 🆓 Suite of Apache-2.0 libraries for financial technology, including moov-io/ach, iso8583, and watchman. No paid product on top.
  • Fintech Open Source Foundation - 🆓 Linux Foundation project hosting open-source projects for financial services.
  • Hyperswitch - 💸 Open-source backend for payment processing. Juspay sells Hyperswitch Cloud and a self-host Enterprise edition; the OSS is functionally complete with 90+ connectors, vault, routing, 3DS, and fraud orchestration.
  • The Best Payment Gateway for Startups - A benchmark of top payment providers, their pricing and models.
  • Avoiding Double Payments in a Distributed Payments System - 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.
  • Polar - 💸 Open-source monetization platform to sell SaaS and digital products. Polar Software Inc. runs the hosted polar.sh service as the merchant of record, handling billing, sales tax and VAT remittance for a cut of each transaction; the self-hostable OSS ships the full stack (checkout, subscriptions, usage metering, license keys) on top of your own Stripe account.
  • Why was I charged? - 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.
  • part 1 - ach-works-a-developer-perspective-part-2-7a890638c4dd), part 3, part 4, part 5.

Online Payments

  • 20 years of payment processing problems - 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.
  • Optimizing payments with machine learning - 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.
  • UPI 101: The Basics - “In this article, we will learn about India's Unified Payments Interface. A four-year-old payment scheme that has been accounting for 40-45% of digital payments across India.”
  • Idempotency in the context of payments - “Idempotency prevents race conditions. Idempotency dictates that multiple identical requests from the same client do not result in a different final state.”

Receipt

Pricing

Market Research

  • Gabor–Granger method - 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.
  • Van Westendorp's Price Sensitivity Meter - 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.
  • Pricing niche products - “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.
  • Personalised pricing and EU law - Some cases of price personalisation are prohibited in EU due to consumer protection and data protection rules.
  • Finding the max revenue price mark for digital products - “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.”

Strategy

Subscription Plans

  • Lotus - 🆓 Open-source project to manage pricing & packaging infrastructure. Lotus Inc. only sells managed hosting on top of the MIT core.
  • `f-license` - 🆓 Open-source license key generation and verification tool in Go. Solo-maintainer project, no commercial offering.

Usage-based Pricing

  • Why I Love Usage-Based Pricing - “The most important reason I like this pricing model is that it heavily incentivizes both the customer and the service provider to act in everyone's best interest.” Also details issues with other pricing models.
  • Use-cases for cloud services - 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.
  • Socially Optimal Pricing of Cloud Computing Resources - “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.
  • source - Or why you're 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.
  • Riemann sum - The starting point about quantization of usage.
  • Allen's interval algebra - Implementing usage-based pricing is tricky, and this algebra will help you organize temporal reasoning. Also see this Stack Overflow question with clean schema.
  • “Designing billing for a service can be really challenging” - Personal anecdote on the design of the pricing plan for AWS Simple Email Service.
  • Subscription-based pricing is dead: Smart SaaS companies are shifting to usage-based models - 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”.
  • Lago - 💸 Open-source metering & usage-based billing in Ruby. Lago SAS sells a hosted Cloud and Premium add-ons on top of the AGPL core.
  • CGRateS - 🆓 An open-source, fast (50k+ CPS) and scalable (load-balancer + replication included) real-time billing for ISPs and Telecom Operators, written in Go. Vendor-neutral, support-only commercial model.
  • A Survey of Profit Optimization Techniques for Cloud Providers - “The strategy of improving user service quality is discussed first, followed by the pricing strategy for cloud resources to maximize revenue.”
  • AWS EC2 T2 Instances Demystified: Don't Learn The Hard Way - An example of really tricky burstable instances which accrues and limits its own amount of CPU usage credits.
  • Reconcile Your Monthly GCP Invoice with BigQuery Billing Export - 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.
  • Electropedia: Tariffs for electricity - 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.
  • StripeMeter - 🆓 Open-source, Stripe-native usage metering in TypeScript. Reconciles computed usage against Stripe invoices for “pre-invoice parity”, with exactly-once processing and real-time cost projections.

Product Catalog

Market Research