How Chartered Accountants Can Build Their Own Desktop Apps Without Coding Background
Author: CA.Pranav P Tulshyan
Author: CA.Pranav P Tulshyan
As Chartered Accountants (CAs), we handle highly confidential and price-sensitive financial data. This makes uploading such data to cloud-based applications or online tools a security risk. While cloud-based tools offer automation and convenience, they come with privacy concerns.
But what if we could create our own desktop applications for all the online processes we perform?
Yes, with modern AI advancements, technology is no longer a complex puzzle. It has become more accessible than ever, allowing non-programmers to build their own applications without needing deep coding knowledge.
Let’s explore how a CA can turn into an App Developer and create a fully functional desktop app to automate financial tasks—without compromising data security.
To develop such applications, you will need just three simple tools:
The best part? You don’t need advanced programming skills. Even if you are:
✅ A CA CPT / Inter / Final student
✅ A Qualified CA (in Job or Practice)
✅ Completely new to coding
You can still create your own apps easily!
All you need is:
🔹 Basic knowledge of using VS Code and Python
🔹 Basic Python syntax (variables, loops, functions)
🔹 Familiarity with PySimpleGUI module or Tkinter module (for building interfaces)
🔹 Basic understanding of GitHub (to find and use existing Python scripts)
One of the most common tasks CAs perform is working with Excel / PDF/ JSON files. Our workflow typically involves:
✔ Uploading Excel, PDF, or JSON files
✔ Performing calculations, validations, and transformations
✔ Generating final reports in Excel / PDF format
To demonstrate this, I decided to build a local desktop application that:
📌 Takes GSTR1 JSON files as input
📌 Converts them into an Excel file
📌 Runs entirely offline (no internet required)
Now, let’s go step-by-step into how I built this app.
Before writing any code, you need to design the user interface (UI) of your app.
📝 Key Below UI Design Principles in mind:
✅ Keep it simple (Use only Basic Elements like Browse Button, Text, DropDown, Radio)
✅ Don’t clutter multiple features into one app
✅ Use separate apps for different use cases
🎨 How to design the app UI?
Use MS Excel or PowerPoint → Insert → Shapes to create a rough UI layout.
Below is an Image of the App Design Created in Excel Using the Shapes Options
If you have local Python Installed , you don’t need a .exe file to get any Desktop Application. You can simply have one single file (.py extension) , with some python code to run it locally like a Desktop Application . So, after designing, you can simply give this design to CHatGPT and ask it to generate the python code which will result in such design.
Once the design is ready:
🔹 Upload the design image to ChatGPT
🔹 Ask ChatGPT to generate PySimpleGUI-based Python code
🔹 ChatGPT provides a ready-made code snippet for your UI
(Note that I have used the PySimple GUI module of Python to create Desktop GUIs. However, there are many other modules as well (like Tkinter, PyQT) which can help you in creating the desktop GUI)
I have a Basic Video explaining Tkinter module and Basic of GUI . refer this link: https://www.youtube.com/watch?v=V_5lQ3-Scs8
Below is a Sample Prompt to get the Code. You can however modify it as per your needs.
1️ Open VS Code
2️ Create a new Python file: demo_file_v1.py
3️ Paste the UI code provided by ChatGPT
4️ Run the script – Your desktop app interface should now appear!
(Note : To run the Script, you need to open the Command Prompt in the same location where you have saved the python file. Then run the command “python demo_file_v1.py”
On running this, the desktop app should appear.
Right now, all buttons in the UI are non-functional.i.e On Clicking any button, nothing will happen because we have not mapped the functions to execute on “Click” event.
In simple sense, the computer does not know , what to do on click of the button. So, we need to now , add more code (i.e instructions) on what needs to be done when someone clicks the button.
So, First we will ask ChatGPT to implement a very basic functionality . So, we will ask ChatGPT to implement a functionality so that whenever I click a button , this will simply display the names of the files also also in case no Files Selected, it will display an error message saying “no Files Selected”
Hence , To make them work:
📌 The Browse button should allow users to select JSON/Excel files
📌 The GSTR1 JSON to Excel button should:
We asked ChatGPT to generate basic Python scripts for these functionalities and then integrated them into our app.
Below is the prompt which we gave to ChatGPT to provide us the code:
Chat GPT prompt:
“Now, Next, I want to add the functionalities in these Buttons... Like, The user will first select the files using the Browse button .. Now, on pressing of the button, the below activity should happen. Combine R1 JSON": First , only .json extension files should be allowed. Show error message if not. Then , The code should check no of .json files selected by user. If the number of files selected is 1 or less than 1 (i.e no files selected), then , you should give a message as "Please select at least 2 json files. Combine R1 Excel": First , only .xlsx extension files should be allowed. Show error message if not. Then , The code should check no of .xlsx files selected by user. If the number of files selected is 1 or less than 1 (i.e no files selected), then , you should give a message as "Please select at least 2 xlsx files. Convert JSON to Excel": First , only .json extension files should be allowed. Show error message if not. Then , The code should check no of .json files selected by user. If the number of files selected is less than 1 (i.e no files selected), then , you should give a message as "Please select at least 1 json files. Convert Bulk JSON to Excel": First , only .json extension files should be allowed. Show error message if not. Then , The code should check no of .json files selected by user. If the number of files selected is 1 or less than 1 (i.e no files selected), then , you should give a message as "Please select at least 2 json files. If these errors are not there , and user selects the correct extension file in correct numbers, then display a box showing : No. of Files Selected and Names of the Files Selected. be Mindful that, I only want to show names of the files and not the full path. Also, in the 2 buttons provided below as "Contact Us" and "Watch Demo", Please use webbrowser module and attach url "https://www.efficientcorporates.in/" and "https://www.youtube.com/efficientcorporates" respectively to these buttons, so that on clicking these button, these urls automatically pop up Kindly give this code”
On running the Code given by ChatGPT, I get the below Functioning App, which shows a dialog box with names of the file and its count, whenever I click the app.
Now, let’s add the actual conversion functionality. So, we want to Create a Desktop app which will be converting our JSON files into Excel. So, we need to first get such Python Code which can perform this operation.
🔹 If you already have a Python script for this, simply integrate it into the button action.
🔹 If you don’t have one, search GitHub for Python scripts that perform JSON-to-Excel conversion.
🔹 If no suitable code exists, write your own using Pandas (with the help of ChatGPT).
💡 In my case, I wrote my own Python script and uploaded it to GitHub
🔗 [GitHub Link]
https://github.com/EFFICIENTCORPORATES/icai_ai_hackathon
The final step is to ensure that clicking the Convert JSON to Excel button. Now, for this you will need to know some basics of Python like “How Python functions work? Its Parameters, return functions, handling exceptions.”,
You can take assistance from ChatGPT for learning all these . Once you have made the Linkage between the “Button “Click Event and Execution of function, you can run this app locally at your own ease.
During this mapping, you may face some error messages or issues, keep calm and try understanding the issues with help of ChatGPT. Try getting to understand the logic behind error and try to solve those.
Once the code runs successfully, and is free from bug, using the Desktop App will be a simple 3 Step operation.
✅ Run the Python script
✅ Select and Process the selected JSON files
✅ Get the desired Excel / PDF / JSON output in the desired location
🎉 At this stage, the app is fully functional!
Now that you understand the process, you can apply this technique to multiple use cases: I am providing links to the Python Codes written by me and made public on GitHUb.
(Note: All these Codes were self written while I was Learning Python in pre Chat-GPT Era , hence the code may not be in the best possible version . You can go through and optimize the functionality using Chat GPT)
📌 Merge PDFs
📌 Split PDFs
📌 Convert Word to PDF
📌 Rotate PDFs
📌 Bulk Encrypt/Decrypt PDFs
Git hub Link: https://github.com/EFFICIENTCORPORATES/effcorp-filetools
📌 GSTN Summary Checker
📌 JSON to Excel Conversion for R1 & R2
📌 Excel Merging for GST Reports
Git hub Link : https://github.com/EFFICIENTCORPORATES/efffcorp-gst
Git hub link for GSTR2A / 2B Reco with Purchase Register: https://github.com/EFFICIENTCORPORATES/effcorp_gstreco
📌 Merge Excel files
📌 Split Excel sheets
📌 Format & Clean data
Git hub Link: https://github.com/EFFICIENTCORPORATES/effcorp-filetools
Instead of relying on multiple paid SaaS tools, you can build your own desktop applications to handle all these tasks offline, securely, and for free!
With tools like ChatGPT and GitHub, getting Python code is easier than ever.
✅ Find the right Python script for your needs
✅ Wrap it inside a simple desktop app
✅ Digitize your CA office without expensive SaaS software
Building your own custom automation tools gives you full control over your data and removes dependency on third-party applications.
So, why wait? Start building your own desktop apps today!
Would Love to Connect with people looking to “Learning Tech in Simple Way”
LinkedIn: https://www.linkedin.com/in/capranavptulshyan/
YouTube: https://www.youtube.com/@EFFICIENTCORPORATES
🚀 Happy Learning! Happy Sharing! 🚀
📌 Share Your Thoughts!
💬 Have you ever tried building an app for your CA work?
💡 What other use cases do you think can be automated?