Features
The Inventory is a comprehensive REST API for managing inventory, procurement, sales, and reporting. Itβs built with Django and designed for multi-tenant SaaS deployments.
Core Capabilities
π¦ Inventory Management
Manage your product catalog and stock levels
- Products β Create and manage product catalog with SKU, descriptions, images, and pricing
- Categories β Organize products into hierarchical categories
- Stock Locations β Define warehouse and storage locations with hierarchical structure
- Stock Tracking β Real-time stock levels per product per location
- Stock Movements β Complete audit trail of all inventory changes (receive, issue, transfer, adjustment)
- Low Stock Alerts β Automatic alerts when stock falls below reorder points
- Unit of Measure β Support for different units (pieces, kg, liters, meters, boxes, packs)
π Procurement
Manage supplier relationships and purchase orders
- Suppliers β Maintain supplier contacts, lead times, and terms
- Purchase Orders β Create and manage purchase orders with line items
- Goods Received Notes (GRN) β Track incoming goods and auto-update stock
- Order Status Workflows β Draft β Confirmed β Fulfilled
- Procurement Services β Confirm, cancel, and receive goods with validation
π³ Sales
Manage customer relationships and sales orders
- Customers β Maintain customer contacts and information
- Sales Orders β Create and manage sales orders with line items
- Dispatch/Shipment β Track shipments and auto-update stock
- Order Status Workflows β Draft β Confirmed β Fulfilled
- Sales Services β Confirm, cancel, and process dispatch with validation
π Reporting & Analytics
Gain insights into inventory health and business metrics
- Stock Valuation Reports β Weighted average and latest cost analysis
- Movement History β Complete audit trail with filtering by date, type, product, location
- Low Stock Report β Identify items below reorder points
- Overstock Report β Identify overstocked items
- Purchase Summaries β Daily, weekly, monthly aggregations
- Sales Summaries β Daily, weekly, monthly aggregations
- CSV & PDF Export β Export all reports in multiple formats
- Dashboard Charts β Visual analytics (stock by location, trends, order status)
π Multi-Tenancy & SaaS
Support multiple organizations on a single deployment
- Tenant Isolation β Complete data separation between organizations
- Tenant Management β Create and manage organizations
- User Memberships β Assign users to organizations with roles
- Role-Based Access Control (RBAC) β Owner, Coordinator, Manager, Viewer roles
- Per-Tenant Branding β Customize admin interface per organization
- Subscription Hooks β Support for billing and plan limits
π Internationalization
Support multiple languages
- Multi-Language Support β Backend supports multiple languages
- Language Parameter β API endpoint parameter for language selection
- Translation Workflow β Manage translations for product names, descriptions, etc.
- Supported Languages β English, Spanish, French, Arabic, Swahili, Kinyarwanda
π REST API
Comprehensive REST API for all operations
- RESTful Endpoints β Standard HTTP methods (GET, POST, PUT, PATCH, DELETE)
- JWT Authentication β Stateless token-based authentication
- Token Authentication β API token support for scripts and integrations
- Session Authentication β Browser-based authentication
- Pagination β Configurable page sizes with max limits
- Filtering β Advanced filtering on all list endpoints
- Search β Full-text search on products, suppliers, customers
- Ordering β Sort results by any field
- OpenAPI Schema β Auto-generated API documentation
- Swagger UI β Interactive API explorer
- Redoc β Beautiful API documentation
π Security & Compliance
Enterprise-grade security features
- JWT Tokens β Secure stateless authentication
- CORS Support β Cross-origin requests for frontend integration
- CSRF Protection β Cross-site request forgery prevention
- Permission Enforcement β Fine-grained access control
- Audit Logging β Track all user actions
- API Impersonation β Support staff break-glass access
- Tenant Scoping β Automatic data isolation per tenant
π οΈ Admin Interface
Wagtail-based admin for platform operators
- Wagtail Admin β Powerful admin interface at
/admin/
- Tenant Management β Create and manage organizations
- User Management β Create users and assign roles
- Reports β View all reports in admin
- Imports β Bulk import products, suppliers, customers
- Dashboard β Overview of system health and metrics
Technical Capabilities
Database
- SQLite β Development (file-based)
- PostgreSQL β Production (recommended)
- Migrations β Automatic schema management
Search
- Database Search β Default full-text search backend
- Elasticsearch β Optional advanced search (Phase 4)
- Caching β Redis-based caching for frequently accessed data
- Pagination β Efficient data retrieval with configurable page sizes
- Indexing β Database indexes on frequently queried fields
- Async Tasks β Celery support for background jobs
Deployment
- Docker β Container-ready with Dockerfile
- Environment Variables β Flexible configuration
- Gunicorn β Production WSGI server
- Static Files β Optimized static file serving
- Media Storage β Support for local and cloud storage
Whatβs NOT Included
Frontend
- No UI included β This is a headless API
- Frontend is separate β See the-inventory-ui for Next.js frontend
- API-first design β Build any frontend you want
Advanced Features (Planned)
- Barcode scanning β Planned for future release
- QR codes β Planned for future release
- Webhooks β Planned for future release
- Advanced analytics β Planned for future release
Use Cases
Small Business
- Track inventory across single or multiple locations
- Manage suppliers and purchase orders
- Monitor stock levels and reorder points
- Generate reports for decision-making
Growing Company
- Multi-location inventory management
- Supplier and customer management
- Sales order processing
- Financial reporting and analysis
Enterprise
- Multi-tenant SaaS deployment
- Complex organizational structures
- Advanced reporting and analytics
- Integration with other systems
Third-Party Integrations
- Build custom frontends
- Integrate with accounting systems
- Connect to e-commerce platforms
- Build mobile apps
API Endpoints Overview
Authentication
POST /api/v1/auth/login/ β User login
POST /api/v1/auth/refresh/ β Refresh access token
GET /api/v1/auth/me/ β Get current user profile
Inventory
GET/POST /api/v1/products/ β Product management
GET/POST /api/v1/categories/ β Category management
GET/POST /api/v1/stock-locations/ β Location management
GET /api/v1/stock-records/ β Current stock levels
GET/POST /api/v1/stock-movements/ β Stock movement history
Procurement
GET/POST /api/v1/suppliers/ β Supplier management
GET/POST /api/v1/purchase-orders/ β Purchase order management
GET/POST /api/v1/goods-received-notes/ β GRN management
Sales
GET/POST /api/v1/customers/ β Customer management
GET/POST /api/v1/sales-orders/ β Sales order management
GET/POST /api/v1/dispatches/ β Dispatch management
Reporting
GET /api/v1/reports/stock-valuation/ β Stock valuation report
GET /api/v1/reports/movements/ β Movement history report
GET /api/v1/reports/low-stock/ β Low stock report
GET /api/v1/reports/overstock/ β Overstock report
GET /api/v1/reports/purchases/ β Purchase summary report
GET /api/v1/reports/sales/ β Sales summary report
Tenants
GET /api/v1/tenants/current/ β Current tenant info
GET /api/v1/tenants/memberships/ β User memberships
Getting Started
Ready to get started? Follow the Getting Started Guide.
For detailed API reference, see the API Documentation.
For deployment, see the Deployment Guide.