A comprehensive GST-compliant invoicing and shipping management solution for Indian Shopify merchants. Built from scratch following Shopify's latest development guidelines and best practices.
- GST-Compliant Invoices: Automatic CGST/SGST/IGST calculations based on place of supply
- HSN/SAC Code Support: Product classification for tax compliance
- Invoice Templates: Professional PDF generation with company branding
- Sequential Numbering: Configurable invoice numbering system
- Multi-State Support: Handles inter-state and intra-state transactions
- Reverse Charge: Support for reverse charge mechanism
- Customer Database: Complete customer information with GSTIN validation
- Address Management: Multiple addresses per customer
- Business Information: B2B and B2C customer classification
- Shopify Integration: Automatic customer sync from orders
- Label Generation: Professional shipping labels with tracking
- Barcode/QR Codes: Integrated tracking codes
- Multi-Courier Support: Support for various courier services
- Package Management: Weight, dimensions, and package type tracking
- Company Setup: GSTIN, address, and business information
- Tax Configuration: Default GST rates and tax settings
- Invoice Customization: Prefixes, numbering, and templates
- Compliance Settings: GST compliance parameters
- Frontend: React 18 + Remix Framework + TypeScript
- UI Framework: Shopify Polaris (Official Design System)
- Backend: Node.js with Remix Server
- Database: SQLite (Development) / PostgreSQL (Production)
- ORM: Prisma
- Authentication: Shopify App Bridge + OAuth
- API: Shopify GraphQL Admin API
- Deployment: Vercel / Railway / Heroku
- Node.js 18+
- npm or yarn
- Shopify Partner Account
- Shopify CLI
-
Clone the repository
git clone <repository-url> cd gst-invoice-shipping-manager
-
Install dependencies
npm install
-
Set up environment variables
cp .env.example .env # Edit .env with your Shopify app credentials -
Set up database
npx prisma generate npx prisma db push
-
Start development server
npm run dev
# Shopify App Configuration
SHOPIFY_API_KEY=your_api_key
SHOPIFY_API_SECRET=your_api_secret
SCOPES=write_orders,read_orders,write_customers,read_customers,write_products,read_products
SHOPIFY_APP_URL=https://your-app-domain.com
# Database
DATABASE_URL=file:./dev.db
# Session Storage
SESSION_SECRET=your_session_secret
# GST Configuration
DEFAULT_GST_RATE=18
COMPANY_GSTIN=your_company_gstin
COMPANY_NAME=Your Company NameThe app uses a comprehensive database schema with the following models:
- Session: Shopify authentication and session management
- Invoice: GST-compliant invoice data with tax calculations
- Customer: Customer information with GSTIN support
- ShippingLabel: Shipping label and tracking information
- AppSettings: App configuration and company settings
- Subscription: Billing and subscription management
- WebhookLog: Webhook processing and debugging
app/
โโโ components/ # Reusable React components
โโโ models/ # Database models and queries
โโโ routes/ # Remix routes (pages and API)
โ โโโ app._index.tsx # Dashboard
โ โโโ app.invoices/ # Invoice management
โ โโโ app.customers/ # Customer management
โ โโโ app.settings.tsx # App configuration
โ โโโ webhooks/ # Shopify webhook handlers
โโโ services/ # Business logic services
โโโ utils/ # Utility functions
โ โโโ gst.server.ts # GST calculation utilities
โโโ shopify.server.ts # Shopify app configuration
- CGST + SGST: For intra-state transactions (same state)
- IGST: For inter-state transactions (different states)
- Place of Supply: Automatic determination based on delivery address
- Tax Rates: Support for 0%, 5%, 12%, 18%, and 28% GST rates
- Sequential Numbering: Continuous invoice numbering
- GSTIN Validation: 15-digit GSTIN format validation
- HSN/SAC Codes: Product classification codes
- Reverse Charge: Support for reverse charge mechanism
- Currency Format: Indian Rupee formatting with words
- Tax Summary: CGST, SGST, IGST breakdowns
- Customer Reports: B2B and B2C transaction summaries
- Period Reports: Monthly and quarterly tax reports
npm run dev # Start development server
npm run build # Build for production
npm run start # Start production server
npm run lint # Run ESLint
npm test # Run tests
npm run setup # Setup database- Database Changes: Update
prisma/schema.prisma - Routes: Add new routes in
app/routes/ - Components: Create reusable components in
app/components/ - Utilities: Add helper functions in
app/utils/
- Admin Dashboard: Embedded app pages in Shopify Admin
- Navigation: Custom navigation menu in Shopify Admin
- Settings: Configuration pages for app setup
- Orders Created: Automatic customer and invoice data sync
- Orders Updated: Real-time order status updates
- Customers Created/Updated: Customer information sync
- App Uninstalled: Cleanup on app uninstallation
- Orders API: Fetch order details and line items
- Customers API: Customer information and addresses
- Products API: Product details and HSN codes
- Shopify OAuth: Official authentication flow
- Session Management: Secure session storage with Prisma
- Data Encryption: Sensitive data protection
- GDPR Compliance: Privacy regulation compliance
- Rate Limiting: API request rate limiting
- Input Validation: All user inputs validated
- SQL Injection Protection: Prisma ORM protection
- XSS Prevention: React built-in XSS protection
- Code Splitting: Automatic code splitting with Remix
- Lazy Loading: Component lazy loading
- Database Indexing: Optimized database queries
- Caching: Response caching for better performance
- Error Tracking: Comprehensive error handling
- Performance Metrics: App performance monitoring
- Webhook Logging: Webhook processing logs
-
Build the app
npm run build
-
Set up production database
DATABASE_URL=postgresql://... npx prisma db push
-
Deploy to platform
# Vercel vercel --prod # Railway railway up # Heroku git push heroku main
- Database: PostgreSQL for production
- File Storage: Cloud storage for invoice PDFs
- Email Service: SMTP or SendGrid for notifications
- Monitoring: Error tracking and performance monitoring
This project is licensed under the MIT License - see the LICENSE file for details.
- Documentation: Wiki
- Issues: GitHub Issues
- Discussions: GitHub Discussions
- Core app structure and authentication
- Basic invoice management
- Customer management
- GST calculations
- Settings configuration
- PDF invoice generation
- Shipping label creation
- Email notifications
- Bulk operations
- Advanced reporting
- WhatsApp integration
- Multi-user support
- API access
- Mobile app
- Advanced analytics
- โ Modern Architecture: Built with latest Shopify development standards
- โ GST Compliance: 100% compliant with Indian GST regulations
- โ Professional UI: Shopify Polaris design system
- โ Real-time Sync: Webhook-based data synchronization
- โ Scalable: Built for high-volume operations
- โ Secure: Enterprise-level security measures
Made with โค๏ธ for Indian Shopify merchants
Simplifying GST compliance and shipping management, one invoice at a time.