Online Billing and Bar code Scanning on PHP or python. READ BEFORE YOU APPLY

Job ID: 39600639

Budget: ₹37,500 – ₹75,000 INR

Project Overview: Export billing

Company: X
Project Goal: Develop a web-based software for managing export operations, including product inventory, buyer details, purchase orders, and invoice generation with barcode scanning capabilities.
Target Hosting Environment: Hostinger Shared Hosting (PHP compatible)
Target Subdomain: will let you know


1. Core Objectives

* Streamline product and buyer data management.
* Automate purchase order processing.
* Enable efficient, accurate, and multi-currency invoicing.
* Implement a barcode scanning solution for shop floor operations (packing/dispatch).
* Provide distinct user roles with specific access permissions.


2. Functional Modules & Requirements


2.1. User & Access Management (Admin Only)

* Admin Panel: A dedicated interface for system administration.
* User Creation: Admin must be able to create new user accounts.
* Role Assignment: Admin must be able to assign roles to users:
* Admin: Full access to all modules and data.
* Sub-User: Limited access, primarily to the "Scan/Enter Product for Invoice/Packing List" functionality.
* Password Management: Secure password handling (hashing).


2.2. Product Management Module

* Product Entry:
* Manual Input: Interface for adding individual product details.
* Import/Export: Ability to import and export product data via CSV/Excel files.
* Product Fields (Required for each product):
* Name: (Text)
* Type: (Text)
* SKU: (Unique Identifier, VARCHAR)
* EAN (Barcode): (Unique Identifier, CHAR/VARCHAR - typically 13 digits for EAN-13) - Must be scannable.
* Size: (VARCHAR)
* SQM in One: (Decimal) - Square meters per single unit of the product.
* SQM Cost: (Decimal) - Cost per square meter.
* HSN (India): (Text) - Harmonized System of Nomenclature for Indian exports.
* HSN (Destination): (Text) - Harmonized System of Nomenclature for destination country.
* Composition: (Text) - Material composition.
* Calculated Field:
* Total Price (Per Unit): Automatically calculated as SQM in One * SQM Cost.
* Buyer Mapping: Ability to map specific products to specific buyers (e.g., if a product is exclusive to one client). This should filter product selection when creating POs/Invoices for that buyer.
* Barcode Verification: System should verify existing products by scanning or typing the EAN.


2.3. Buyer Management Module

* Buyer Entry: Interface for adding and managing buyer details.
* Buyer Fields (Required for each buyer):
* Name: (VARCHAR)
* Address: (VARCHAR)
* Country: (CHAR)
* Billing Currency: (Dropdown selection: $, Euro, INR, GBP)
* Shipping Address: (VARCHAR)
* TAX Number: (VARCHAR)
* Port of Discharge: (VARCHAR)


2.4. Purchase Order (PO) Management Module

* PO Upload/Entry:
* Interface to upload purchase orders (initially manual entry of details, potential future enhancement for PDF parsing).
* Link PO to an existing Buyer.
* PO Fields:
* PO Number: (VARCHAR) - Buyer's PO number.
* Internal PO Number: (VARCHAR) - Internal reference number.
* Order Date: (Date)
* Delivery Date: (Date)
* Product Selection: Ability to select and add products from the Product Management Module to a specific PO. This should consider any buyer-specific product mappings.


2.5. Invoice & Packing List Generation Module

This is a critical module with distinct access levels.
* Invoice/Packing List Creation:
* Admin can initiate invoice creation.
* Option to link to an existing Purchase Order or create a standalone invoice.
* General Invoice Fields (Editable by Admin):
* Invoice Number: (Automatically generated/Editable VARCHAR)
* Seller/Exporter Name: (Pre-filled from system settings)
* Seller Address: (Pre-filled)
* Seller Mobile: (Pre-filled)
* Seller Email ID: (Pre-filled)
* LUT Number: (Pre-filled)
* GST: (Pre-filled)
* IEC: (Pre-filled)
* Payment Terms: (Text field)
* Buyer PO Number: (Pre-filled if linked to PO, editable)
* Port of Discharge: (Pre-filled if linked to PO, editable)
* Net Weight (kg): (Decimal)
* Gross Weight (kg): (Decimal)
* Product Item Table (Within Invoice/Packing List):
* This table populates dynamically based on scanned/entered products.
* Common Fields (Visible to Admin & Sub-User for scanning):
* Serial: (Text/Number - for individual items if applicable, or auto-incrementing line item)
* Name: (From Product Module)
* SKU: (From Product Module)
* Size: (From Product Module)
* Quantity: (Editable, defaulting to 1 per scan)
* HSN India: (From Product Module)
* HSN Destination: (From Product Module)
* Admin-Only Visible Fields (Calculated and displayed for Admin):
* SQM in One: (From Product Module)
* Price for One: Calculated as SQM in One * SQM Cost (from Product Module). This must account for the buyer's billing currency and apply the current exchange rate if necessary (Admin input/update of exchange rates would be an excellent future enhancement).
* Item Total: Calculated as Price for One * Quantity.
* Grand Total: Automatically calculated sum of all Item Total rows.


2.6. Barcode Scanning / Dispatch Module (For Sub-Users)

This is the primary interface for sub-users.
* Dedicated Interface: A simple, focused interface for scanning products.
* Input Methods:
* Barcode Scan:
* Ability to use a connected USB barcode scanner.
* Ability to use a device camera (e.g., phone/tablet) as a scanner.
* System should instantly look up the product by EAN.
* Manual SKU Entry: A field to type in an SKU and add the product.
* Real-time List Generation: As products are scanned/entered:
* The product details (Name, SKU, Size, Quantity) should appear in a live, editable list.
* If the same product (EAN/SKU) is scanned multiple times, its quantity in the list should increment.
* Users should be able to manually adjust quantities for existing items in the list.
* Data Submission: A clear "Submit" or "Finalize Scan" button that sends the compiled list of products and quantities to the server. This data will be used by the Admin to generate the final invoice/packing list.
* Error Handling: Clear feedback for invalid scans or non-existent SKUs.


3. Technical Requirements

* Backend: PHP (Framework highly recommended: Laravel or CodeIgniter for robust development and maintainability).
* Database: MySQL.
* Frontend: HTML, CSS (Bootstrap for responsive design), JavaScript (jQuery for DOM manipulation, a suitable barcode scanning library like QuaggaJS or ZXing-JS for scanner integration).
* Deployment: Compatible with Hostinger shared hosting environment.
* Reporting: Basic export functionality for generated Invoices and Packing Lists (PDF and Excel format). Requires PHP libraries for PDF generation (e.g., dompdf or TCPDF) and Excel export (e.g., PhpSpreadsheet).


4. Deliverables

* Fully functional web application deployed.
* Database schema and scripts.
* Source code with comments.
* Basic user manual (how to use different modules).


5. Future Enhancements (Optional for Phase 2)

* Real-time currency exchange rate integration.
* PDF parsing for Purchase Order uploads.
* Advanced reporting and analytics.
* Integration with shipping carriers for tracking.

This document provides a clear and actionable framework for your developer. Good luck with your project!
Related categories: PHP Software Development Coding ERP Software Billing