# Thoughts & Stories: ERP

> Sharing my experiences, learnings, and adventures in tech and beyond.

URL: https://www.matthewswong.com/en/blog/category/erp/

- [ERP Expense Settlement Advance Reconciliation and Input VAT](https://www.matthewswong.com/en/blog/erp-expense-settlement-advance-reconciliation-input-vat/)
- [ERP Contract Billing Schedule Down Payment Without Double Bills](https://www.matthewswong.com/en/blog/erp-contract-billing-schedule-down-payment-invoices/)
- [ERP Payroll Amendment Closed Period: Fix It Without Editing](https://www.matthewswong.com/en/blog/erp-payroll-amendment-correct-closed-period/)
- [ERP AI Agent Tool Design: Drafts, Not Direct Writes](https://www.matthewswong.com/en/blog/erp-agent-tool-design-draft-documents/)
- [ERP Three-Way Match AI Agent: PO, Receipt and Invoice](https://www.matthewswong.com/en/blog/erp-three-way-match-ai-agent/)
- [Spec-Driven Development for ERP Requirements With AI Agents](https://www.matthewswong.com/en/blog/spec-driven-development-erp-requirements/)
- [AI-Assisted Legacy ERP Refactor With No Written Spec](https://www.matthewswong.com/en/blog/ai-assisted-legacy-erp-refactor/)
- [ERP Domain Rules as a Claude Code Plugin: Skills and Hooks](https://www.matthewswong.com/en/blog/claude-code-plugin-erp-domain-toolkit/)
- [Connect an ERP POS to a Bluetooth Printer With Flutter](https://www.matthewswong.com/en/blog/connect-erp-pos-bluetooth-printer-flutter/)
- [Epson TM-T82 ESC/POS Printing From a Custom POS App](https://www.matthewswong.com/en/blog/epson-tm-t82-escpos-pos-printing/)
- [Epson TM-T82 Cash Drawer, Auto Cutter and Status Bytes](https://www.matthewswong.com/en/blog/epson-tm-t82-cash-drawer-cutter-status/)
- [Coretax DJP for Developers: e-Faktur, e-Bupot & NPWP Integration](https://www.matthewswong.com/en/blog/coretax-djp-tax-integration-indonesia-developer/)
- [Modeling Kasbon: Employee Cash Advance in an ERP](https://www.matthewswong.com/en/blog/kasbon-employee-cash-advance-payroll-deduction/)
- [Designing POS Cash-Session Reconciliation in an ERP](https://www.matthewswong.com/en/blog/pos-cash-session-reconciliation-design/)
- [ERP Fixed Asset Module: Depreciation Schedules Done Right](https://www.matthewswong.com/en/blog/erp-fixed-asset-depreciation-module/)
- [Manufacturing in ERP: BOM and MRP Module Design](https://www.matthewswong.com/en/blog/erp-manufacturing-bom-mrp-design/)
- [ERP General Ledger: Designing a Double-Entry Core](https://www.matthewswong.com/en/blog/erp-general-ledger-double-entry-design/)
- [Batch and Serial Tracking in ERP: Full Traceability](https://www.matthewswong.com/en/blog/erp-batch-serial-number-traceability/)
- [e-Faktur Integration for Indonesian ERP: PPN Done Right](https://www.matthewswong.com/en/blog/erp-e-faktur-tax-integration-indonesia/)
- [Consignment Inventory in ERP: Own the Stock You Do Not Own](https://www.matthewswong.com/en/blog/erp-consignment-inventory-workflow/)
- [Multi-Company ERP: Intercompany Transactions and Elimination](https://www.matthewswong.com/en/blog/erp-multi-company-intercompany-transactions/)
- [Quote-to-Cash in ERP: Quotation to Invoice to Payment](https://www.matthewswong.com/en/blog/erp-quotation-to-cash-sales-workflow/)
- [Landed Cost in ERP: True Import Cost for Indonesian Trade](https://www.matthewswong.com/en/blog/erp-landed-cost-import-calculation-indonesia/)
- [Stock Opname in ERP: Cycle Counts Without Freezing Ops](https://www.matthewswong.com/en/blog/erp-stock-opname-cycle-count-indonesia/)
- [ERP Inventory Module Design: Movements, Valuation, Guards](https://www.matthewswong.com/en/blog/erp-inventory-management-module-design/)
- [Multi-Currency Accounting in ERP: Rates, FX Gains, IDR Rounding](https://www.matthewswong.com/en/blog/erp-multi-currency-accounting/)
- [ERP Approval Matrix Design: Stop Hardcoding Approval Chains](https://www.matthewswong.com/en/blog/erp-approval-matrix-configuration/)
- [ERP Reporting Architecture: Read Models That Save Your OLTP](https://www.matthewswong.com/en/blog/erp-reporting-dashboard-architecture/)
- [ERP Adoption Playbook: Champions, Sandboxes, Cutover Comms](https://www.matthewswong.com/en/blog/erp-user-training-adoption-playbook/)
- [Outgrown Spreadsheets? A Decision Framework for SMBs](https://www.matthewswong.com/en/blog/spreadsheet-to-erp-decision-framework/)
- [Procurement in ERP: PR to PO to Receipt to 3-Way Match](https://www.matthewswong.com/en/blog/erp-procurement-purchase-order-workflow/)
- [ERP Implementation Guide: From Selection to Go-Live](https://www.matthewswong.com/en/blog/erp-implementation-guide/)
- [ERP as the Backbone of Digital Transformation](https://www.matthewswong.com/en/blog/erp-digital-transformation/)
- [ERP Integration: Connecting SAP & Oracle with APIs](https://www.matthewswong.com/en/blog/erp-integration-api-strategy/)
- [ERP Customization vs Configuration: What Every Project Team Needs to Know](https://www.matthewswong.com/en/blog/erp-customization-vs-configuration/)
- [ERP Data Migration: How to Avoid the Mistakes That Sink Projects](https://www.matthewswong.com/en/blog/erp-data-migration-strategy/)
- [Odoo ERP Custom Module Development: A Developer's Guide for Indonesian Business Workflows](https://www.matthewswong.com/en/blog/odoo-erp-custom-module-development-indonesia/)
- [Building an HR Leave Approval Flow in a Custom ERP](https://www.matthewswong.com/en/blog/erp-hr-leave-approval-flow/)
- [Accounts Payable Multi-Level Approval Workflow in NestJS](https://www.matthewswong.com/en/blog/accounts-payable-multi-approval-nestjs/)
- [ERP Invoice PDF Generation: Puppeteer + Handlebars in NestJS](https://www.matthewswong.com/en/blog/erp-invoice-pdf-generation/)
- [ERP Email Automation: Triggering Transactional Emails from Business Events](https://www.matthewswong.com/en/blog/erp-email-automation/)
- [Why ERP Implementations Fail in Indonesian Businesses — And How to Avoid It](https://www.matthewswong.com/en/blog/why-erp-fails-indonesian-businesses/)
- [Automating Accounts Receivable in a Custom ERP: Reminders, Aging Reports, and Payment Tracking](https://www.matthewswong.com/en/blog/accounts-receivable-automation-erp/)
- [Building a Workflow Engine for Multi-Step Approvals: NestJS, PostgreSQL, and React](https://www.matthewswong.com/en/blog/workflow-engine-react-nestjs-postgresql/)
- [Migrating from Excel to a Custom ERP: Data Mapping, Validation, and Cutover Strategy](https://www.matthewswong.com/en/blog/excel-to-custom-erp-migration/)
- [Role-Based Access Control in a Custom ERP: NestJS Guards, PostgreSQL Permission Tables, and UU PDP Compliance](https://www.matthewswong.com/en/blog/erp-role-based-access-control/)
- [Building an ERP Audit Trail and Activity Log: PostgreSQL, NestJS Interceptors, and React Activity Feed](https://www.matthewswong.com/en/blog/erp-audit-trail-activity-log/)
- [Building a Multi-Level Purchase Order Approval Workflow in a Custom ERP](https://www.matthewswong.com/en/blog/erp-purchase-order-approval/)
- [Real-Time Inventory Tracking in a Custom ERP: From Stock Movements to Live Dashboards](https://www.matthewswong.com/en/blog/erp-inventory-real-time-tracking/)
- [Automating Financial Reporting in a Custom ERP: From Trial Balance to Management Reports](https://www.matthewswong.com/en/blog/erp-financial-reporting-automation/)
- [Implementing Multi-Currency Support in a Custom ERP: Exchange Rates, Revaluation, and Reporting](https://www.matthewswong.com/en/blog/erp-multi-currency-implementation/)
- [Building a Vendor and Supplier Portal Integrated with Your Custom ERP](https://www.matthewswong.com/en/blog/erp-vendor-supplier-portal/)
- [Project Costing and Time Tracking in a Custom ERP: Budgets, Timesheets, and Profitability](https://www.matthewswong.com/en/blog/erp-project-costing-time-tracking/)
- [Integrating Payroll with Your Custom ERP: From Timesheets to Payslips and Tax Reporting](https://www.matthewswong.com/en/blog/erp-payroll-integration-hr/)
- [Building a B2B Customer Portal Integrated with Your Custom ERP](https://www.matthewswong.com/en/blog/erp-customer-portal-b2b/)
- [Integrating Third-Party APIs with a Custom ERP: Patterns, Webhooks, and Error Handling](https://www.matthewswong.com/en/blog/erp-third-party-api-integration/)
- [Building an Executive KPI Dashboard for Your Custom ERP](https://www.matthewswong.com/en/blog/erp-kpi-dashboard-executives/)
- [Document Management in a Custom ERP: From File Uploads to Searchable Archives](https://www.matthewswong.com/en/blog/erp-document-management/)
- [Warehouse Barcode Scanning Integration in a Custom ERP: From Hardware to Real-Time Inventory](https://www.matthewswong.com/en/blog/erp-warehouse-barcode-scanning/)
- [Indonesian Tax Compliance in a Custom ERP: PPN, PPh, and e-Faktur Integration](https://www.matthewswong.com/en/blog/erp-tax-compliance-indonesia-ppn/)
- [Budget vs. Actual Variance Analysis in a Custom ERP: Real-Time Financial Control](https://www.matthewswong.com/en/blog/erp-budget-variance-analysis/)
- [ERP and CRM Integration: Connecting Your Sales Pipeline to Operations](https://www.matthewswong.com/en/blog/erp-crm-integration-sales/)
- [Odoo vs SAP vs Custom ERP: Which Is Right for Your Business?](https://www.matthewswong.com/en/blog/odoo-vs-sap-vs-custom-erp/)
- [ERP Implementation Timeline: The Reality vs. The Sales Pitch](https://www.matthewswong.com/en/blog/erp-implementation-timeline-reality/)
- [ERP Change Management: Why People, Not Software, Determine Success](https://www.matthewswong.com/en/blog/erp-change-management-employees/)
- [ERP Data Quality and Migration Prep: The Work Nobody Wants to Do](https://www.matthewswong.com/en/blog/erp-data-quality-migration-prep/)
- [ERP ROI: Real Numbers from Real Implementations](https://www.matthewswong.com/en/blog/erp-roi-real-numbers/)
- [ERP Customization: A Brutal Cost-Benefit Analysis](https://www.matthewswong.com/en/blog/erp-customization-cost-benefit-analysis/)
- [ERP Go-Live Checklist: 40 Items Before You Switch On](https://www.matthewswong.com/en/blog/erp-go-live-checklist/)
- [ERP User Training Strategy for Faster Adoption](https://www.matthewswong.com/en/blog/erp-user-training-strategy/)
- [ERP Post Go-Live: What Happens in the First 90 Days](https://www.matthewswong.com/en/blog/erp-post-go-live-90-days/)
- [ERP Process Mapping: The Requirements Work That Saves Your Project](https://www.matthewswong.com/en/blog/erp-process-mapping-guide/)
- [ERP Security and Permissions Design: RBAC Done Right](https://www.matthewswong.com/en/blog/erp-security-permissions-design/)
- [ERP Mobile and PWA for Field Workers: Offline-First Design](https://www.matthewswong.com/en/blog/erp-mobile-pwa-field-workers/)
- [Migrating from Legacy Access Database to Custom ERP](https://www.matthewswong.com/en/blog/erp-legacy-access-db-migration/)
- [Cloud ERP vs On-Premise in Indonesia: Making the Right Call](https://www.matthewswong.com/en/blog/erp-cloud-vs-on-premise-indonesia/)
- [ERP Middleware and Integration Design: Connecting Your Systems](https://www.matthewswong.com/en/blog/erp-middleware-integration-design/)

---

- HTML version: https://www.matthewswong.com/en/blog/category/erp/
- Bahasa Indonesia: https://www.matthewswong.com/id/blog/category/erp/
- Site index for agents: https://www.matthewswong.com/llms.txt
- Sitemap: https://www.matthewswong.com/sitemap.xml
- API description (OpenAPI): https://www.matthewswong.com/openapi.json
