Kelola stok kantor dengan cepat, rapi, dan selalu akurat.
StokKantor adalah aplikasi inventory barang untuk kantor kecil hingga menengah yang membantu tim melacak aset, persediaan habis pakai, dan pergerakan barang dalam satu tempat. Produk ini dirancang untuk admin operasional, finance, dan procurement agar stok selalu terkontrol, pembelian lebih tepat waktu, dan kehilangan barang bisa diminimalkan.
Admin Operasional Rina, 32 - Rina bertanggung jawab atas ketersediaan barang kantor seperti ATK, tinta printer, dan perlengkapan pantry. Ia butuh sistem sederhana yang bisa dipakai harian tanpa pelatihan panjang.
Finance Staff Budi, 41 - Budi memantau pengeluaran operasional dan butuh data stok untuk membantu keputusan pembelian. Ia fokus pada kontrol biaya dan riwayat transaksi.
Procurement Lead Dita, 37 - Dita mengurus pembelian ulang dan perlu rekomendasi kapan harus order. Ia ingin proses yang jelas agar tidak terjadi pembelian mendadak.
Rina di bagian operasional selama ini mencatat stok alat tulis di spreadsheet. Saat printer kehabisan tinta atau kertas, ia baru sadar setelah pengguna lain komplain, sementara data pemakaian bulan lalu sulit dicari kembali.
Setelah memakai StokKantor, Rina mengimpor daftar barang, menetapkan stok minimum, dan mulai mencatat keluar-masuk barang dalam hitungan detik. Saat stok tinta mendekati batas minimum, sistem mengirim peringatan sehingga pembelian bisa dilakukan sebelum habis.
Budi di finance kini bisa melihat mutasi dan laporan bulanan tanpa meminta file terpisah, dan Dita di procurement punya dasar yang jelas untuk restock. Hasilnya, kantor mengurangi stockout, mempercepat stock opname, dan punya kontrol biaya yang lebih baik.
Team & resourcing - Small team - 2 engineers, 1 designer, part-time PM
Paste this into Cursor, Bolt, Lovable, or v0 to start building.
Build a web-based inventory management app called StokKantor for office use in Indonesian. Goal: help office admins track stock in/out, stock adjustments, stock opname, low-stock alerts, and reporting for office supplies and consumables. Tech stack: Frontend: Next.js 14, React, TypeScript, Tailwind CSS, shadcn/ui Backend: Next.js API routes or NestJS style modular API if easier Database: PostgreSQL ORM: Prisma Auth: NextAuth or custom email/password auth with role-based access control File storage: S3-compatible storage for CSV import templates and attachments Jobs/notifications: BullMQ or simple cron worker for low-stock alerts and report exports Analytics: PostHog event tracking Primary screens: 1. Login and onboarding setup 2. Dashboard with stock summary, low-stock items, recent activity 3. Barang page with searchable/filterable table, create/edit/archive item modal 4. Transaksi page for barang masuk, keluar, adjustment, transfer optional 5. Stock opname page with create session, count input, variance view, finalize adjustment 6. Reports page with stock snapshot, movement history, top used items, export CSV/XLSX 7. Settings page for roles, locations, minimum stock thresholds, notification preferences Core features: 1. Master items with SKU, name, category, unit, min stock, max stock, optional price, status, location, optional photo 2. Transaction audit trail for every stock change with timestamp, user, note, and reference document 3. Automatic stock calculation and validation so stock out cannot exceed available quantity unless privileged override is allowed 4. Low stock alerts in-app and via email 5. CSV import with preview, row-level validation, duplicate SKU detection, and downloadable template 6. Stock opname workflow with counted quantities, variance calculation, and finalize adjustment 7. Reporting and export with date/category/location filters 8. Role-based permissions for admin, operator, finance, and read-only auditor Data model: User(id, name, email, passwordHash, role, isActive) Location(id, name, description) Category(id, name) Item(id, sku, name, description, unit, categoryId, locationId, minStock, maxStock, price, status, photoUrl) StockBalance(id, itemId, locationId, quantity) StockTransaction(id, type[inbound|outbound|adjustment|transfer], itemId, fromLocationId, toLocationId, quantity, note, referenceNo, createdById, createdAt) StockTake(id, name, locationId, status[draft|completed], createdById, createdAt) StockTakeLine(id, stockTakeId, itemId, systemQuantity, countedQuantity, variance) Notification(id, type, itemId, userId, status, createdAt) AuditLog(id, actorId, action, entityType, entityId, beforeJson, afterJson, createdAt) Requirements: - Indonesian language UI copy by default. - Make the UI fast, simple, and mobile-friendly for office staff. - Use server-side pagination and filtering for tables. - Provide validation and error states for duplicates, missing required fields, and insufficient stock. - Include empty states, skeleton loading, and accessible forms with labels and keyboard navigation. - Seed sample data for office inventory items like paper, toner, pens, and cleaning supplies. Deliver a working MVP with clean architecture, reusable components, and polished UI. Include API routes, database migrations, sample seed data, and basic analytics events for item creation, transaction creation, low-stock alert, stock take start/complete, and export.
Design by The Resonance | Powered by GPC – The AI Transformation Company