Modern data processing is all about work flows and data flows, and accounting is gorged with that stuff.

There's a reason that there are 3000 different businesses, but 6000 different accounting packages. At a glance, they're all the same. But accounting data processing is all about the last mile. That 10% that the company does differently.

Now, when folks say "accounting" they typically mean General Ledger, Accounts Payable, and Account Receivable (GLAPAR as we called it). In truth, it's really about the General Ledger, everything is else is about feeding the GL. Most of the reports come from the GL.

GL is where all the numbers are tallied up. AP is stuff you owe people. AR is stuff people owes you. Then you have the distribution systems that tend to fee AP and AR. (Mind these are all broad strokes.)

Consider an Amazon order. You went to the site and ordered a radio and stick of deodorant. Honestly, the mind reels about the accounting impact of that order.

Amazon has to account for the money you're paying, the value of the goods sold, the taxes (potentially multiple jurisdictions), the shipping, and the credit card fees. Meanwhile, the costs of those goods include not just the value of the goods, the labor involved in taking off a truck, putting it on a shelf, taking it off a shelf and putting it on a truck. The cost of the box. The cost of the label.

ALL of that hits the GL in to its own slot, in its own account. The total number of GL entries for a single order is probably dozens, even for simple orders (no doubt it gets more fun with associates and folks selling through Amazon, etc. etc.). This is where all that chasing of imbalances happens. With double entry accounting, everything has to balance.

And worse, not only is it explosive in its detail, it can CHANGE, at any time! Business change their minds on how they track things, what they want to track, when they want to track. It could be marketing asking questions, it could be regulatory, it could be anything. It's a very dynamic environment.

At one place I had to rewrite pricing and discount logic every 6 months as they came up with new schemes. (Oh, and don't forget, all of the OLD schemes are still in play -- don't think you can forget about those when someone calls up 90 days later asking for a credit). And you'd think you could do something "generic". No. The marketing people are very creative.

At one place, a smaller business, probably cut 100 checks a week. They had a product canceled. Thousands of refunds. We had to run several large boxes of checks through the band printer. I can not convey to you briefly how impactful that process was. "Cutting a check", I hope you can imagine, is a very controlled process, and we had to stomp through the lot of the internal workflows to get that done. Lots of eyes were on the process. (Remember, the pre-printed check numbers had to match the transactions in the system, let's hope the paper doesn't jam.) Outside in, it seems stupid, boring, and silly. When you're in the thick of it, it's like a rocket launch. Lot of time invested it getting this all right.

As data processing people, we strive to manage complexity. Our job is to make the systems and processes accessible to the people who rely on them, and as well as adapt to their ever changing needs for the business.

Working back office accounting and distribution is a surprisingly target rich environment for interesting work that can be crushed in detail. But our job is to wrangle that.

You don't need to be an accountant to do this, but it's good to learn the vocabulary: debits, credits, journals, posting, agings, etc. etc.

And, finally, everyone does this. Having "accounting" experience pretty much qualifies you for all sorts of businesses. Each one you have to learn a little bit of domain knowledge, but the accounting terms themselves are a common grounding that gets your foot in the door. I've written systems for warehousing, meat brokers, paint shops, plant growers, auto parts, and magazine publishing, just as a start.

Honestly, it beats healthcare.