I want to learn programming by automating some repetitive entry between a customer management system and bookkeeping software. Where should I start, and how do I figure out what skills I need?
How do I plan my first programming project?
Answers
Pick one small workflow instead of planning every automation at once. For example, start with a single receipt and write down its input fields, how each field should be translated, and what the finished expense should contain.
That gives you a basic pattern to investigate: read from one system, transform the data, then write to the other. Other workflows may use a similar pattern, though each can have different rules and API limitations.
Reply to this answer
Before writing the sync, check what both APIs actually let you do. Can you retrieve receipt details and images? Can you create an expense and attach an image? How does authentication work, and is there a test environment?
Access to an API doesn't necessarily mean every step of the workflow is available. Ask about matching an expense to a bank transaction too, since creating an expense and matching it may be separate operations.
Reply to this answer
Python is a reasonable language to start with here. Learn enough about variables, functions and conditionals to work with data, then look up HTTP requests, JSON and API authentication. You don't need to master the whole language before trying a tiny request.
A good first milestone is a script that reads one test record and prints the fields you care about. After that, try mapping those fields into the format the other system expects.
Reply to this answer
The business rules deserve their own planning time. For each receipt, how do you decide the category, account and memo? What happens if a field is missing or the category is unclear?
Write a few example inputs and expected outputs before coding. Rules that feel obvious during manual entry can turn out to depend on details you haven't written down yet.
Reply to this answer
Keep the first version read only, or use test data if the systems provide a safe way to do that. Once it can prepare an expense correctly, add a review step before letting it write anything.
Also think about how you'll recognize a receipt that has already been processed. A retry after an error shouldn't quietly create duplicate expenses.
Reply to this answer
Add your answer
Answers are reviewed before publication.
Related Discussions