* . *
  • About
  • Advertise
  • Privacy & Policy
  • Contact
Tuesday, September 23, 2025
Earth-News
  • Home
  • Business
  • Entertainment
    Caesars Entertainment (CZR): Assessing Valuation After Times Square Casino Setback and Mounting Investor Concerns – simplywall.st

    Caesars Entertainment Faces Times Square Casino Hurdles as Investor Concerns Mount

    Why Hilaria Baldwin Has Found the ‘DWTS’ Process ‘Embarrassing’ At Times – WFXG

    Hilaria Baldwin Opens Up About the Embarrassing Moments on Her ‘DWTS’ Journey

    Harvest Fest 2025 – yadkinripple.com

    Celebrate the Bounty: Harvest Fest 2025 is Coming!

    Fox News Entertainment Newsletter: Kate Middleton stuns during Trump state visit, Brett James dead at 57 – Fox News

    Kate Middleton Stuns During Trump State Visit; Remembering Brett James at 57

    Lara Beitz to headline Oshkosh show with top comedians at Time Community Theater Sept. 27 – Yahoo

    Lara Beitz to Headline Star-Studded Oshkosh Comedy Night on September 27

    Shakespeare (with a twist) in Grand Junction – Yahoo

    Experience Shakespeare Like Never Before in Grand Junction

  • General
  • Health
  • News

    Cracking the Code: Why China’s Economic Challenges Aren’t Shaking Markets, Unlike America’s” – Bloomberg

    Trump’s Narrow Window to Spread the Truth About Harris

    Trump’s Narrow Window to Spread the Truth About Harris

    Israel-Gaza war live updates: Hamas leader Ismail Haniyeh assassinated in Iran, group says

    Israel-Gaza war live updates: Hamas leader Ismail Haniyeh assassinated in Iran, group says

    PAP Boss to Niger Delta Youths, Stay Away from the Protest

    PAP Boss to Niger Delta Youths, Stay Away from the Protest

    Court Restricts Protests In Lagos To Freedom, Peace Park

    Court Restricts Protests In Lagos To Freedom, Peace Park

    Fans React to Jazz Jennings’ Inspiring Weight Loss Journey

    Fans React to Jazz Jennings’ Inspiring Weight Loss Journey

    Trending Tags

    • Trump Inauguration
    • United Stated
    • White House
    • Market Stories
    • Election Results
  • Science
  • Sports
  • Technology
    Meta to expand Montgomery data hub, pushing total investment to $1.5 billion – Alabama Department of Commerce

    Meta to Supercharge Montgomery Data Hub with $1.5 Billion Investment

    Agentic AI and the future of work: navigating technological promise and the risk of increased automation – Equal Times

    Agentic AI and the Future of Work: Embracing Innovation While Navigating Automation Challenges

    Technology alliance introduces system for stable recycling quality – RECYCLING magazine

    Innovative Technology Alliance Unveils Breakthrough System for Consistent Recycling Quality

    Pepper Pike council considers upgrading technology for streaming meetings, remote meeting participation – Cleveland.com

    Pepper Pike Council Explores Upgrading Technology for Enhanced Streaming and Remote Participation

    How Michelin Uses Technology to Rethink Tire Manufacturing: Interview – Motor1.com

    How Michelin’s Tech-Driven Revolution Is Transforming Tire Manufacturing

    Analysts Offer Insights on Technology Companies: Avnet (AVT), Nvidia (NVDA) and Atlassian (TEAM) – The Globe and Mail

    Experts Share Key Insights on Avnet, Nvidia, and Atlassian’s Future Prospects

    Trending Tags

    • Nintendo Switch
    • CES 2017
    • Playstation 4 Pro
    • Mark Zuckerberg
No Result
View All Result
  • Home
  • Business
  • Entertainment
    Caesars Entertainment (CZR): Assessing Valuation After Times Square Casino Setback and Mounting Investor Concerns – simplywall.st

    Caesars Entertainment Faces Times Square Casino Hurdles as Investor Concerns Mount

    Why Hilaria Baldwin Has Found the ‘DWTS’ Process ‘Embarrassing’ At Times – WFXG

    Hilaria Baldwin Opens Up About the Embarrassing Moments on Her ‘DWTS’ Journey

    Harvest Fest 2025 – yadkinripple.com

    Celebrate the Bounty: Harvest Fest 2025 is Coming!

    Fox News Entertainment Newsletter: Kate Middleton stuns during Trump state visit, Brett James dead at 57 – Fox News

    Kate Middleton Stuns During Trump State Visit; Remembering Brett James at 57

    Lara Beitz to headline Oshkosh show with top comedians at Time Community Theater Sept. 27 – Yahoo

    Lara Beitz to Headline Star-Studded Oshkosh Comedy Night on September 27

    Shakespeare (with a twist) in Grand Junction – Yahoo

    Experience Shakespeare Like Never Before in Grand Junction

  • General
  • Health
  • News

    Cracking the Code: Why China’s Economic Challenges Aren’t Shaking Markets, Unlike America’s” – Bloomberg

    Trump’s Narrow Window to Spread the Truth About Harris

    Trump’s Narrow Window to Spread the Truth About Harris

    Israel-Gaza war live updates: Hamas leader Ismail Haniyeh assassinated in Iran, group says

    Israel-Gaza war live updates: Hamas leader Ismail Haniyeh assassinated in Iran, group says

    PAP Boss to Niger Delta Youths, Stay Away from the Protest

    PAP Boss to Niger Delta Youths, Stay Away from the Protest

    Court Restricts Protests In Lagos To Freedom, Peace Park

    Court Restricts Protests In Lagos To Freedom, Peace Park

    Fans React to Jazz Jennings’ Inspiring Weight Loss Journey

    Fans React to Jazz Jennings’ Inspiring Weight Loss Journey

    Trending Tags

    • Trump Inauguration
    • United Stated
    • White House
    • Market Stories
    • Election Results
  • Science
  • Sports
  • Technology
    Meta to expand Montgomery data hub, pushing total investment to $1.5 billion – Alabama Department of Commerce

    Meta to Supercharge Montgomery Data Hub with $1.5 Billion Investment

    Agentic AI and the future of work: navigating technological promise and the risk of increased automation – Equal Times

    Agentic AI and the Future of Work: Embracing Innovation While Navigating Automation Challenges

    Technology alliance introduces system for stable recycling quality – RECYCLING magazine

    Innovative Technology Alliance Unveils Breakthrough System for Consistent Recycling Quality

    Pepper Pike council considers upgrading technology for streaming meetings, remote meeting participation – Cleveland.com

    Pepper Pike Council Explores Upgrading Technology for Enhanced Streaming and Remote Participation

    How Michelin Uses Technology to Rethink Tire Manufacturing: Interview – Motor1.com

    How Michelin’s Tech-Driven Revolution Is Transforming Tire Manufacturing

    Analysts Offer Insights on Technology Companies: Avnet (AVT), Nvidia (NVDA) and Atlassian (TEAM) – The Globe and Mail

    Experts Share Key Insights on Avnet, Nvidia, and Atlassian’s Future Prospects

    Trending Tags

    • Nintendo Switch
    • CES 2017
    • Playstation 4 Pro
    • Mark Zuckerberg
No Result
View All Result
Earth-News
No Result
View All Result
Home Technology

Engineering Principles for Building Financial Systems

July 11, 2024
in Technology
Engineering Principles for Building Financial Systems
Share on FacebookShare on Twitter

Accounting hasn’t really changed in the past couple of hundred years. Despite this, there is a lot of confusion around the right way of building software for financial systems.

In this post, I’ll share lessons from my years working on financial systems at big tech companies. Our focus will be building an accounting system, but the principles apply to more general financial systems as well.

This post will go over the following

Basic financial definitions relevant to the post

High level goals of an accounting system

Engineering principles to achieve those goals

Best Practices

General Ledger (GL): The primary accounting record of the company, summarizing all financial transactions over a specific time period. You can think of this as an aggregation of it’s corresponding sub-ledgers.

Sub-ledger: Contains detailed information about all individual transactions related to a specific GL. Records in the sub ledger will have much more granular data then the general ledger, like who the specific customer is, specific line items in an order, etc. The difference in data between the sub-ledger and GL will depend on the type of business and volume of data you are working with. Some small businesses can get away with not having any sub-ledgers at all, but it is doubtful that they would ever need custom software to manage something that is so low in scale.

Financial Record: This refers to the general ledger and sub-ledgers.

Material: A financial event is considered material if it is significant enough to impact the decisions of stakeholders based on financial statements. Note that this definition is somewhat ambiguous by design, as different businesses have different materiality thresholds. For example what might be material for a business making $250,000 of revenue per year, will not be material for a business making $1 billion in revenue.

The three main goals of your accounting system are to be (1) Accurate, (2) Auditable and (3) Timely.

The financial record needs to reflect the known state of the business. This statement is a little broad and up to some interpretation so I will give some real examples.

If we sell a 10 units of a product that costs $9.99, the corresponding financial records must add up to $99.90. This seems obvious but when you are aggregating thousands (in a lot of cases millions) of transactions, simple summation or rounding errors between systems can cause material inaccuracies.

Wasteman’s Note: People say naming is the hardest problem in computer science, I would say a close second is addition. After working on large scale financial systems for the past few years, I can’t remember how many times the smallest bugs caused large discrepancies in our data. Also don’t get me started on summations over floats. I learned the hard way why you should always use integers.

The financial record also needs to be complete. More specifically, both the sub-ledger and the general ledger are a complete representation of all business activities that occurred. If there is an event that occurred but is not in the financial record, than the system is not complete.

Wasteman’s Note: Another surprisingly really hard problem is guaranteeing completeness. As your system scales, data hops between many systems and at each hop data can easily be mutated or dropped by accident.

Very related to accuracy, your financial record must be easily auditable so that stakeholders can detect errors and accurately measure performance of your business. And even if you don’t care, the IRS definitely does.

This one depends entirely on your business and it’s specific needs. Small businesses can get away with just dumping all numbers near the end of the month, just in time to close the books. Larger businesses generally want to avoid this, and have a near real time system. This allows them to monitor financials within the month, make decisions based on financial data faster, and reduce the rush to close the month/quarter in the first few days of the month.

But whatever that need is, our accounting system should meet the needs of your business, and whatever timely means to them.

Wasteman’s note: People tend to get lost in conversations about batch vs streaming systems with respect to timeliness a lot. My take is that this isn’t an important distinction to make. Batch is just a special case of streaming. If you’re data is modeled correctly, its pretty easy to switch between them especially with unified frameworks like Apache Beam.

The three main engineering principles your accounting system should abide by are

Immutability and Durability of data

Data should be represented at the smallest grain

Code should be Idempotent

This allows for auditability, which helps debugging and in turn accuracy. When data is immutable, you have a record of what the state of the system was at any given time. This makes it really easy to recompute the world from previous states, because no state is every lost.

Building on, once data is stated in the financial record it cannot be deleted. Any corrections to the system must be represented as a new financial transaction. For example let’s say your system had a bug and accidentally reported that a service was sold for $1000, when it should have been $900. To correct this mistake, you should first reverse the accounting entries corresponding to the mistake, and restate the accounting entry for the correct amount.

It will look something like this:

So you can see that in the financial record, there is evidence that the balance of Accounts Receivable (AR) and Revenue was $1000 at some point, but was corrected later. Even though that balance was incorrect, we want an audit trail of what the balance was at any given moment.

Similar to the above principle, this is also critical for enabling a clear audit trail. Even though financial reports and the general ledger are aggregated, they are computed from more granular events. When the data doesn’t make sense, you need the most granular data to debug what might have been the issue.

Saving data at the lowest granularity also makes it really easy to correct data that is derived from that dataset. If a single immutable dataset is the core source of truth for all views of that data, to correct the view all you need to do is rerun the pipeline that creates that view after fixing your data.

Similarly when accountants are preparing to close the books, they reconcile account balances with all the transactions that occurred to validate that the books are accurate. When a discrepancy is discovered, you can dig into the exact transaction that might be causing the issue.

Every financial event can only be processed once, duplicates in the financial record will cause obvious inaccuracies. For that reason, all code that produces financial records should be idempotent.

Over the years, I have run into quite a few gotchas that have caused me a lot of pain. Below are best practices I recommend, to avoid the many pitfalls I have personally faced.

Use integers to represent financial amounts. Makes arithmetic much easier. Avoid floats at all costs.

Granularity of your financial amounts should support currency conversions with minimal loss of precision. If you are only working with dollars, representing values in cents might be sufficient. If you are a global business, prefer micros or a DECIMAL(19, 4). The decimal choice is quite popular among financial systems, but micros has been the standard for ads financial systems. This limits loss of precision when converting between currencies

Wasteman’s note: Micros of a currency=smallest unit * 1,000,000. E.g $1.23=1,230,000 micros. I first came across this when working with Google’s metrics API.

Use consistent rounding methodologies. At scale the way you round can create material differences between expected amounts. For example one rounding methodology is to round all values 5 and up to the next significant digit, and 4 and below rounds down. Another valid way is to always round up. All that matters is you are consistent across the board. When you are dealing with millions of transactions, being off by 1 cent per transaction can lead to material differences. (10 million transactions off by 1 cent, leads to a difference of $100k). This may not be material to your business at this scale, but it’s material enough for the government to come after you for underpaying taxes.

Wasteman’s note: If you are a global business there can be a lot of gotchas with rounding and currency conversions. I would go as far as saying you should make a centralized library/service to handle both rounding and currency conversions. Different governments respect different rounding rules when calculating taxes, so having all these nuances abstracted into a single service will reduce complexity.

Delay currency conversion as long as you can. Preemptively converting currencies can cause loss of precision. Delay currency conversions until after aggregations occur in their local currency.

Use integer representations of time. This one is a little controversial but I stand by it. There are so many libraries in different technologies that parse timestamps into objects, and they all do them differently. Avoid this headache and just use integers. Unix timestamp, or even integer based UTC datetimes work perfectly fine. The less data conversions that occur between systems, the better. (Read about Etsy’s own problems with timestamp types here)

Wasteman’s note: I haven’t even talked about daylight savings related bugs. Using an incrementing integer can help you avoid this altogether. If you really insist on using datetimestamps, please at least use UTC. You would be surprised at how many very large businesses use non UTC timestamps.

Thanks for reading this post, I am sure I made a controversial statement somewhere but please feel free to comment and start a discussion. I am very open to learning and hearing other people’s thoughts. And if you enjoyed this post, consider supporting me by subscribing below!

And for further reading, here are some really good blog posts on accounting tailored towards software engineers.

Accounting for Software Engineers

Accounting for Developers Part 1

Accounting for Computer Scientists

>>> Read full article>>>
Copyright for syndicated content belongs to the linked Source : Hacker News – https://substack.wasteman.codes/p/engineering-principles-and-best-practices

Tags: engineeringprinciplestechnology
Previous Post

Great Question (YC W21) is hiring senior Rails engineers in Australia

Next Post

I was an MIT educated neurosurgeon – now I’m alone in the mountains [video]

Tropical biodiversity loss from land-use change is severely underestimated by local-scale assessments – Nature

Tropical Biodiversity Loss from Land-Use Change Is Much Worse Than Local Studies Show

September 23, 2025
NIH launches $50M Autism Data Science Initiative to unlock causes and improve outcomes – National Institutes of Health (NIH) | (.gov)

NIH Launches $50M Autism Data Science Initiative to Uncover Causes and Improve Lives

September 23, 2025
Scientists make incredible discovery that solves dangerous issue with plastic: ‘We can help the world’ – Yahoo

Scientists make incredible discovery that solves dangerous issue with plastic: ‘We can help the world’ – Yahoo

September 23, 2025
10 money lessons Boomers learned young that still shape their life choices – VegOut

10 Powerful Money Lessons Boomers Learned Early That Still Shape Their Lives Today

September 23, 2025
Meta to expand Montgomery data hub, pushing total investment to $1.5 billion – Alabama Department of Commerce

Meta to Supercharge Montgomery Data Hub with $1.5 Billion Investment

September 23, 2025
Packers’ Josh Jacobs dealing with a super concerning rushing stat – Yahoo Sports

Packers’ Josh Jacobs dealing with a super concerning rushing stat – Yahoo Sports

September 23, 2025
U.S. and Israel against the world as Palestine dominates UN week – Axios

U.S. and Israel against the world as Palestine dominates UN week – Axios

September 23, 2025
Global economic outlook weakens as policy uncertainty weighs on demand – OECD

Global economic outlook weakens as policy uncertainty weighs on demand – OECD

September 23, 2025
Caesars Entertainment (CZR): Assessing Valuation After Times Square Casino Setback and Mounting Investor Concerns – simplywall.st

Caesars Entertainment Faces Times Square Casino Hurdles as Investor Concerns Mount

September 23, 2025
AI Tool Predicts Health Problems in Patients 20 Years Before They Emerge – eWeek

AI Tool Detects Health Issues Two Decades Before Symptoms Appear

September 23, 2025

Categories

Archives

September 2025
MTWTFSS
1234567
891011121314
15161718192021
22232425262728
2930 
« Aug    
Earth-News.info

The Earth News is an independent English-language daily published Website from all around the World News

Browse by Category

  • Business (20,132)
  • Ecology (833)
  • Economy (853)
  • Entertainment (21,731)
  • General (17,200)
  • Health (9,896)
  • Lifestyle (866)
  • News (22,149)
  • People (856)
  • Politics (863)
  • Science (16,064)
  • Sports (21,353)
  • Technology (15,836)
  • World (837)

Recent News

Tropical biodiversity loss from land-use change is severely underestimated by local-scale assessments – Nature

Tropical Biodiversity Loss from Land-Use Change Is Much Worse Than Local Studies Show

September 23, 2025
NIH launches $50M Autism Data Science Initiative to unlock causes and improve outcomes – National Institutes of Health (NIH) | (.gov)

NIH Launches $50M Autism Data Science Initiative to Uncover Causes and Improve Lives

September 23, 2025
  • About
  • Advertise
  • Privacy & Policy
  • Contact

© 2023 earth-news.info

No Result
View All Result

© 2023 earth-news.info

No Result
View All Result

© 2023 earth-news.info

Go to mobile version