TaxLance is a free, open-source SaaS platform designed for Pakistani freelancers to automate their billing and tax filing process. By integrating with popular freelancing platforms like Upwork and Freelancer.com, TaxLance helps users seamlessly track income, generate professional invoices, and file taxes directly with the Federal Board of Revenue (FBR).
The platform uses Next.js for a fast and responsive frontend, and Firebase for backend services such as authentication, storage, and database management.
TaxLance aims to simplify the lives of freelancers by automating the tedious tasks of managing invoices and filing taxes. Specifically designed for the Pakistani market, the platform integrates with freelancing platforms like Upwork and Freelancer.com, pulling income data to generate tax-compliant invoices. The platform then automates tax calculations and allows freelancers to file taxes directly to FBR.
The project is built on Next.js for its powerful server-side rendering (SSR) and static site generation (SSG) capabilities, making it SEO-friendly. Firebase is used for real-time database storage, authentication, and file handling. Additionally, the app features an AI-powered assistant to help users navigate tax-related questions.
-
Freelance Account Integration
Seamlessly integrate with Upwork and Freelancer.com to pull earnings, contracts, and job history for freelancers. -
Professional Invoicing
Automatically generate downloadable, tax-compliant invoices based on contract details. -
Tax Calculation & Filing
Calculate taxes based on Pakistani tax slabs and automatically file tax returns with the FBR. -
AI-Powered Assistant
Get instant answers to tax-related queries using an AI assistant. -
Real-time Dashboard
Track your income, tax due, pending invoices, and more from a single user-friendly dashboard.
-
Frontend:
- Next.js: Full-stack framework for server-side rendering (SSR) and static site generation (SSG).
- React.js: For building dynamic UIs.
- Tailwind CSS: Utility-first CSS framework for rapid UI development.
-
Backend & Storage:
- Firebase:
- Firebase Authentication: Secure user login and authentication.
- Firestore: Real-time NoSQL database to store user data, transactions, invoices, and more.
- Firebase Storage: For storing invoice PDFs and receipts.
- Firebase:
-
APIs:
- Upwork API: For fetching user earnings, contracts, and job history.
- Freelancer API: For fetching income and contract data.
- FBR API: For submitting tax filing data (to be integrated after API approval).
-
AI Integration:
- OpenAI GPT or Google Gemini for the AI-powered assistant.
-
Hosting & Deployment:
- Vercel: Serverless deployment and hosting for Next.js applications.
Follow the steps below to set up the project locally.
git clone https://github.com/your-username/taxlance.git
cd taxlancenpm install- Go to Firebase Console, create a new project.
- Enable Firestore, Firebase Authentication, and Firebase Storage.
- Download your Firebase configuration file (usually
firebaseConfig.js) and update the necessary fields in the project. - Add Firebase SDK credentials in
.env.local:
NEXT_PUBLIC_FIREBASE_API_KEY=your_api_key
NEXT_PUBLIC_FIREBASE_AUTH_DOMAIN=your_auth_domain
NEXT_PUBLIC_FIREBASE_PROJECT_ID=your_project_id
NEXT_PUBLIC_FIREBASE_STORAGE_BUCKET=your_storage_bucket
NEXT_PUBLIC_FIREBASE_MESSAGING_SENDER_ID=your_messaging_sender_id
NEXT_PUBLIC_FIREBASE_APP_ID=your_app_id- Apply for Upwork API Key at Upwork Developers.
- Apply for Freelancer API Key at Freelancer API.
Once you get the keys, integrate them with the authentication and API calls for syncing user data.
npm run devVisit http://localhost:3000 to view the app locally.
-
Upwork API:
Use OAuth 2.0 to authenticate users, then fetch data like income, contracts, and work history. You’ll need to use Upwork's OAuth flow to get access tokens for users and make authenticated API calls. -
Freelancer API:
Use OAuth 2.0 to authenticate users, then fetch contract data, payment information, and job history. -
FBR API (Pending):
Apply for access to the FBR Digital Tax Filing API to submit tax filings directly through the platform. This API integration is subject to approval by FBR.
- Users can link their Upwork and Freelancer accounts securely using OAuth.
- Once authenticated, the platform pulls the user’s earnings, job history, and contracts.
- Automatically generate invoices for freelancers based on income and contracts fetched from freelancing platforms.
- Invoices are compliant with Pakistani tax laws and can be downloaded or emailed to clients.
- Tax calculation is based on the latest Pakistani tax slabs. Users can view their estimated tax dues directly from the dashboard.
- FBR Integration:
Once the tax calculation is done, the platform will allow freelancers to directly file their taxes via FBR’s digital tax system.
- Muhammad Faizan - Project Creator & Lead Developer
- GitHub: faizzyhon
- Upwork: faizanai
- Instagram: @faizzyhon
Distributed under the MIT License. See the LICENSE file for more details.
If you have any questions or feedback, feel free to open an issue or contact me directly.
- AI Assistant Enhancement: Improve tax-related FAQs and assistance.
- FBR Integration: Complete the API integration with FBR.
- Additional Freelancing Platform Integrations: Integrate with other freelancing platforms like Fiverr and Guru.
- Multi-language Support: Add support for multiple languages including Urdu and English for broader accessibility.
Freelance Billing & Tax Automation for Pakistani Freelancers
df9ce46e0d54e5ee22d6a3c3d360a5c1901b84d8