Python Forum

Full Version: Please help me to create company budget
You're currently viewing a stripped down version of our content. View the full version with proper formatting.
Hi.

I am an accountant and new to programming.

I wanted to know whether I should create a budget for the company I work at in Python. It is a manufacturing concern and I need to prepare budgeted financial statements for each month for the next year. This will mainly involve getting product information, volumes, inflation factors, procurement plan, working capital cycle, etc. from user and prior year data from SAP (or excel if SAP integration gets too complex) and using it to generate financial statements. These then need to be compared with actual data each month to present variances and other data in graphical and numerical form. Also, users should be able to modify any input to update the budget.

All this on a GUI based Windows application. If all goes well, maybe I will consider allowing multiple users on the network to access and input data.

Presently we use excel for budgeting but spreadsheets get complex quite fast, are prone to errors and hell to update or compare with actual data.

Should I even be thinking of undertaking this project in python? Is it too large a project for one person? And what tools will I need to learn? Like TKinter, some database management tool, etc.

Thanks
I think it's entirely doable in Python. However, I can't imagine this is a new problem in accounting. Isn't there accounting software or VBA code out there for this sort of problem?

I would say that this is maybe a bit much for a new programmer. This feels like a project you should work up to. Get the basics of Python down. Then check out different ways of dealing with Excel data (pandas is good, but may be more than you need). Pick one that seems reasonable and learn that. Then start on your application as a command line application. Once you have the basics of your application working, pick a GUI package and work on building the full application.
There are many solutions available. But none that our management will be willing yo invest in. Besides, no software can tailor to our exact needs.

But I get that it will be too complex for me right now. Maybe I will try to automate bank reconciliations in the meanwhile.
If I were you, I would first learn how to create, manage and manipulate databases, for example, with MySQL.

Once you have established your db, you can use Python, for example, the module pymysql, to get info from your db, add things to your db,

There are many online tutorials for learning MySQL and other db software.

You could look here for a start.

If you use Linux, there are whole pages explaining how to set up a "LAMP STACK" LAMP: Linux, Apache, MySQL, PHP

You can do this on your local machine, or on a cloud server.

To create, manage, manipulate and access MySQL, install phpmyadmin, which runs in your browser.

And, of course, there are PHP/MySQL forums where you can ask when you are stumped!

Working in phpmyadmin, you can run a query to get certain data according to your wishes, then directly export that data as a .csv file for viewing in Excel, if you so wish, or for doing something with that data in Python.