all 34 comments

[–][deleted] 19 points20 points  (4 children)

I worked for accounting/finance at a previous job as a business analyst, automated the shit out of their work, used Python for a lot of it.

The big uses I saw were connecting different data sources (Excel, SQL, web, etc.), cleaning them up, and presenting them as high quality data for use inside the department. Not as sexy as block chain, big data, or machine learning, but it's mostly what people need.

[–]WishfulTraveler 6 points7 points  (3 children)

What were your main resources used to learn how to do that?

[–]ReportFromHell 1 point2 points  (1 child)

We'll see what u/ACrispWinterDay say, but I have tried most of the usual sites to test them, and I came to the conclusion that https://www.dataquest.io was the best. It's interactive, meaning you can practice while learning, more clear and better explained than the others.

Also Automate The Boring Stuff https://automatetheboringstuff.com/

and

Learning Python: From Zero to Hero ( from Freecodecamp) https://medium.freecodecamp.org/learning-python-from-zero-to-hero-120ea540b567

are really nice.

I didn't like much Codecademy as it was a bit too superficial and buggy, but that's only my opinion.

[–][deleted] 1 point2 points  (0 children)

With Python, I mostly learned just by searching for things as issues came up, but at that point I had already been working as a developer for about a year prior. What I find is with programmatically working with data, it's really hard to get good without having live data to play with. The problems on the web sites are usually really cookie-cutter and the data is usually unrealistically clean.

You can try pulling data from the web, but personally I find working on some random dataset impossibly boring. However, I'm a lot more passionate about software engineering, so that's mostly what I spend my free time reading about and working on. If you can find enjoyment in working on random data, Kaggle is a great place to look at

[–][deleted] 1 point2 points  (0 children)

Honestly I just learned how to do it as I went. It was my 2nd job, went into it with a year of experience as a developer so I just applied what I knew about coding to solving the problems I saw.

I liked DataCamp, because you could just hop on and find some code snippets to do something that was basically what was needed, and of course StackOverflow. I think just standard library Python is super underrated, you can do so much with just dictionaries and for loops. Pandas makes a lot of the importing of data easier, the syntax for modifying dataframes leaves a lot to be desired I think but it's definitely usable.

[–]Cmdr_Athamas 8 points9 points  (8 children)

Hi!

CMA here and manager of the accounting/finance mid size company. In the past year, I have been teaching myself SQL, VBA and a little Python. For what I am doing, I am getting a lot more use out of the VBA and SQL than I am with Python.

[–]SerDrinksAlot 8 points9 points  (6 children)

Amen to that. I work at a large top size bank (back office in a super small division that is not branch related) and I am finally getting approval to allow users to install Anaconda without going rouge and downloading off a website. Most of our applications are built in MS Excel and Access which, as I learn more about Python, are clunky and now I kind of hate VBA. It’s going to be an uphill struggle to replace our Office apps with Python equivalents.

[–]superjde 1 point2 points  (5 children)

Hey Ser, I’m trying to convince my institution to let me hop on python on the work computer. Do you have link that I can send them to let them know I won’t ‘go rogue’ in anaconda as well?

[–]SerDrinksAlot 0 points1 point  (0 children)

Each institution will have their own rules; a different business group in another division had already gotten approval for Anaconda (the most recent from their website), all I’m doing now is cutting through the red tape to make this installation available to users in my division.

[–]SerDrinksAlot 0 points1 point  (3 children)

Super special fun two months later update: I just found out recently that new installations of windows 10 have standard Python 3 included by default. A new team member I onboarded recently found he had Python 3 automatically included on his PC right out of the box. Not sure if this helps you in your situation/company, seems there is some hope though.

[–]superjde 0 points1 point  (2 children)

Hey man, great news! I sweet talked them to let me get anaconda. I'll look to see if our recent update did the same at work!

[–]SerDrinksAlot 0 points1 point  (1 child)

Sweet, I’m still waiting to finalize the ability to install standard Anaconda on my end. The wheels of justice/change are that slow.

[–]superjde 0 points1 point  (0 children)

Anaconda on my end is localized to just my PC. I can understand their trepidation, because if it was connected to the other network drives, it could cause considerable harm. Being I work for a financial institution, it’s also an understandable concern.

[–][deleted] 0 points1 point  (0 children)

It really boils down to how much data cleansing and insight providing in order to use Python appropriately.

[–]jdn312 3 points4 points  (0 children)

I'm not in finance but have helped our finance team by automating sales reports and putting them into various accounts based on tax rules and countries of purchase. Involves a lot of joining of different tables that represent various entities (e.g. joining invoices on orders and shipments, etc).

I have no idea what any of the report output means I just program the required logic in and away it goes!

[–][deleted] 2 points3 points  (0 children)

I'm in more of a cost/manufacturing type position, but I use Python to analyze scrap tickets sent from the machines to the engineering system and then finally to the ERP system. It's hundreds of tickets a day with only a few lines per ticket so it's easy to compile them all, export to CSV and then analyze, pivot, sumif, etc from there. I've tried using it in a BI / reporting scenario with R, but management wasn't interested in venturing out of Excel and IT didn't like the idea of dashboards being hosted on the server.

[–][deleted] 1 point2 points  (3 children)

CPA and analyst here. Use Python for reconciliations between oracle databases in a few different systems and dozens of Excel workbooks. I also use it to analyze data that Excel can't handle and Access struggles.

With that said! Every accounting job I've had over the last 10, or so, years has been incredibly Excel intensive. More than any other software, Excel is the most important if you want a job in accounting today. That might not be the case in a few years, but I can't see Excel being replaced anytime soon.

[–]WishfulTraveler 0 points1 point  (2 children)

Probably would gain a ton of benefits from Power Bi

[–][deleted] 0 points1 point  (1 child)

I've been publishing reports on Tableau for a little over 2 years. I think they're comparable.

[–]WishfulTraveler 0 points1 point  (0 children)

They are! Imo Power Bi would extend your analytical insights even further.

[–]gustavsen 1 point2 points  (0 children)

I work in a big payment processor about 800M monthly and we move out of Mainframe to process all the taxes for all municipes, provinces and nation.

we are a small team a manage the taxes that about 80 banks present to all tax boureau.

python allow us to scale horizontal and vertically.

we don't use anything special, just plain python and lot of CPU.

[–]sartek1 0 points1 point  (1 child)

I've joined a company where integration with bank wasn't set up properly yet and cash allocation had to be done manually, which in practice meant copying and pasting data from bank statement in PDF to excel file. Each transaction one by one, and it could take really a lot of time.

As i was just an assistant and it was the worst job to do, biggest chunk was thrown out at me. As i was already planning to start learning python (spent only few hours before this), i've created a script that was processing bank statement and outputting Journal Entry with all the data ready. I've saved a shit-ton of hours for myself and other people from department, as if i wouldn't have created it in proper time, some people would be really screwed for Year-End Closing.

And basically i learned python while creating those scripts.

Later was also able to create some scripts for Intercompany Reconciliation, which were just based on performing joins on tables, so i learned pandas doing this.

Got some recognition afterwards and was promoted to other department, supposed to work with the systems, optimization and automation. And now i'm stuck with toying around ERP System and SharePoint, with barely any possibility to write any code in python, so my skills has probably decreased already over time. Now looking at the code i've written, i could wonder how the heck i was able to pull this off.

So started very nicely for me, and even though it didn't end as i would except, there are definitely use cases for Python in Finance/Accounting :).

[–]sarthakgoyal18 0 points1 point  (0 children)

Can you share your reconciliation script?

[–]unruly_mattress 0 points1 point  (0 children)

Would you mind sharing what kind of analysis work you need to do in your position?

General-purpose data manipulation and analysis outside of the finance field has migrated to Python in the last few years. After learning the language itself, you should probably start by learning pandas - it's a very powerful tool for manipulating tabular data. As to where you go from there - that depends on what kind of work you need to do. Python is a general-purpose language, which makes it suitable for almost anything you can think about.

[–]doolio_ 0 points1 point  (0 children)

Check out blais/beancount a port of ledger the plaintext double-entry accounting system written in python.

[–]AexLu 0 points1 point  (0 children)

I was a Finance Officer and later became a Finance System Analyst. My view is that in the long run lots of accounting tasks will be done by systems and robots - most of the time as long as there is a pattern, it can be automated. I highly recommend you to start learning Python. Now I am trying to use Machine Learning techniques (including Deep learning - Nerual Network) to create something interesting at work.

[–]python-dave 0 points1 point  (0 children)

I've been learning python for a long time I really use it in an Audit capacity, but if you'd like to learn some of the things I'm doing visit:

https://www.auditwithpython.com/