02-347-7730  |  Saeree ERP - Complete ERP Solution for Thai Businesses Contact Us

How to Write Requirement Spec for ERP Projects

How to Write Requirement Spec for ERP Projects
  • 25
  • March
For Implementation Team

How to Write Requirement Spec for ERP Projects — The Document That Makes or Breaks Your Project

From the Grand Linux Solution team's experience implementing ERP systems for government agencies and private organizations for over 10 years, we have found that ERP projects with well-written Requirement Specs are 3 times more likely to succeed than those with unclear specifications. This document is not just a "feature wish list" — it is an expectation contract between the client and the developer. If written poorly, the result is a system that "meets the spec but doesn't meet the actual requirements."

This article is a comprehensive guide for teams who need to write Requirement Specs, TOR (for government), or RFP (for private sector) — covering a 12-section structure, 8 good vs bad spec examples, commonly overlooked Non-Functional Requirements, and a 20-point checklist before submission.

Quick Summary: A Requirement Spec is a document that defines what your organization needs from an ERP system. It is not just a feature list — it must cover Functional, Non-Functional, Data Migration, Integration, Training, SLA, and Acceptance Criteria. Missing any of these can lead to scope creep, budget overruns, and project delays.

Requirement Spec vs TOR vs RFP — What's the Difference?

Many organizations confuse these three documents. In reality, they serve different purposes, but the Requirement Spec is the core of both TOR and RFP — if you write a good Requirement Spec, it can be incorporated into either document.

Item Requirement Spec TOR (Government) RFP (Private Sector)
PurposeDefine technical requirementsDefine procurement scopeInvite vendors to propose solutions
Prepared ByIT Team + Business AnalystProcurement Committee + IT TeamIT Team + Procurement
Legal BasisNo mandatory regulationsGovernment Procurement Act 2017Company policy
Level of DetailVery detailed (technical)Detailed + legal conditionsModerate (open for vendor proposals)
Published OnInternal / sent to vendore-GP system (government procurement)Sent directly to invited vendors
Reference PriceNot requiredRequired (government mandate)May or may not be included
Vendor QualificationsNot specifiedClearly specified (registered capital, track record)Varies by organization

Structure of a Good Requirement Spec — 12 Essential Sections

Whether you are writing a Requirement Spec, TOR, or RFP, the following structure covers all the necessary dimensions:

# Section What to Specify
1Introduction & ObjectivesProject background, problems to solve, main goals, KPIs for measuring success
2Project ScopeRequired modules, number of departments/branches, what is in scope and what is out of scope (critically important!)
3Functional RequirementsFunctional needs organized by module: Budget, Finance/Accounting, Procurement, Inventory/Warehouse, HR, Reports
4Non-Functional RequirementsPerformance, Security, Availability, Scalability, Accessibility (WCAG 2.1) — see details in the next section
5User RequirementsNumber of users (concurrent + total), user groups (admin, approver, viewer), permissions (RBAC), languages (TH/EN)
6Data MigrationWhat data to migrate, format, volume, source systems, method (Big Bang / Phased), how many years of historical data
7IntegrationSystems to integrate: GFMIS, e-GP, banks, e-Tax Invoice, DPIS, e-Saraban; integration method (API/File/DB)
8Technical RequirementsOS, Database (PostgreSQL/Oracle), Browser, standards, Cloud/On-premise, Open Source/Proprietary
9Training & Change ManagementHow many trainees, how many sessions, location, manuals (quantity, print/online), Change Management plan
10SLA & SupportResponse Time, Resolution Time, service hours, contact channels, warranty period
11Acceptance CriteriaDeliverables per Phase, UAT (who tests, how many days, how many test cases), Performance Test, acceptance criteria
12Timeline & MilestonesNumber of Phases, duration per Phase, deliverables per milestone, payment installments, payment conditions

Functional Requirement Examples — Good vs Bad

The most common problem is writing specs that are too vague, allowing vendors to interpret them in multiple ways — the result is a system that "meets the spec" but "doesn't meet the actual needs." See the comparison examples below:

Module ❌ Bad (Too Vague) ✅ Good (Specific)
Budget"The system must manage budgets""The system must support 3-level budget allocation (Plan/Program/Activity) according to the defined budget structure, supporting appropriated funds, non-appropriated funds, and revenue funds, displaying allocated amount, committed amount, spent amount, and remaining balance in real-time"
Reports"The system must generate reports""The system must generate budget spending status reports by funding source, program, output, and activity, showing allocated, spent, committed, and remaining amounts, with Export to Excel/PDF and support for Scheduled Reports"
Users"The system must support multiple users""The system must support at least 200 Concurrent Users with Response Time ≤ 3 seconds for all screens and ≤ 10 seconds for reports with more than 100,000 rows"
Procurement"The system must handle procurement""The system must support the full procurement process from PR → PO → GR → Invoice → Payment with at least 3-level approval workflow (Requester → Section Head → Director) and generate e-GP documents"
Inventory"The system must manage stock""The system must manage inventory using FIFO, support Barcode/QR Code Scan for receiving and issuing, alert when items fall below Minimum Stock, support Stock Take with Aging Report"
HR"The system must manage HR""The system must store personnel data per DPIS standard (Comptroller General's Department), support leave, tardiness, absence, and OT management, calculate payroll, and integrate with bank transfer systems (BAHTNET/Bulk Payment)"
Security"The system must be secure""The system must pass OWASP Top 10 testing, support 2FA (Two-Factor Authentication), implement RBAC (Role-Based Access Control), maintain Audit Trail logging all access and data modifications, retain logs for at least 1 year, and encrypt data with TLS 1.2+"
Integration"The system must connect to other systems""The system must integrate with GFMIS (send daily disbursement data in XML format per Comptroller General's Department standard), e-GP (retrieve vendor and contract data), and banks (transfer funds via API/File Upload per BAHTNET standard)"
⚠️ Common Mistake: Writing specs that are too vague → vendor interprets freely → scope creep → cost overruns → project delays — a good spec must be measurable (with numbers, criteria, and reference standards)

Non-Functional Requirements That Are Often Overlooked

Functional Requirements tell you "what the system must do", while Non-Functional Requirements tell you "how well the system must do it" — many organizations write only Functional Requirements and forget Non-Functional ones, which is why systems end up "working but slow / insecure / frequently crashing."

Category Example Requirement How to Test
PerformanceResponse Time ≤ 3 seconds (standard screens), ≤ 10 seconds (reports)Load Testing with JMeter/k6
AvailabilityUptime ≥ 99.5%, Planned Maintenance only outside Office Hours (18:00-06:00)Monitoring (Uptime Robot, Grafana)
SecurityPass OWASP Top 10, 2FA, RBAC, Audit Trail, TLS 1.2+, retain Logs ≥ 1 yearPenetration Testing + Security Audit
ScalabilityScale from 200 → 2,000 users within 3 years without changing architectureCapacity Planning + Stress Test
AccessibilityWCAG 2.1 Level AA — support Screen Reader, Keyboard NavigationaXe / Lighthouse Audit
Backup & DRDaily Full Backup, RPO ≤ 24 hrs, RTO ≤ 4 hrs, DR Site separate from ProductionDR Drill once per year
BrowserSupport Chrome, Edge, Firefox (latest 2 versions) + Mobile Safari/ChromeCross-browser Testing
Data RetentionRetain transaction data for 10 years per Accounting Act + PDPAReview Data Lifecycle Policy

20-Point Checklist Before Submitting Your Requirement Spec

Before sending the spec to vendors or submitting a TOR to the e-GP system, make sure every item is checked:

Scope

  1. Clearly define what is in scope (which modules)
  2. Clearly define what is out of scope (equally important!)
  3. Specify the number of departments/branches that will use the system
  4. Specify the number of users (total + concurrent)

Functional Requirements

  1. Separate Functional Requirements clearly by module
  2. Every requirement is measurable (with numbers/criteria)
  3. No conflicting requirements
  4. Actual end users (not just IT) participated in writing
  5. Cover end-to-end processes (not just individual functions, but how they connect)
  6. Specify required reports with format (Excel/PDF/Dashboard)

Non-Functional Requirements

  1. Specify Performance with numbers (Response Time, Throughput)
  2. Specify Security Requirements (OWASP, 2FA, RBAC, Audit Trail)
  3. Specify Availability + Backup/DR (Uptime, RPO, RTO)
  4. Specify supported Browsers + Devices

Integration & Data

  1. List all systems to integrate + integration method (API/File/DB)
  2. Specify data to Migrate + volume + format
  3. Specify Data Retention Policy (how many years to retain data)

Others

  1. Specify training plan (number of people, sessions, location, manuals)
  2. Clearly specify SLA + Warranty conditions
  3. Specify Acceptance Criteria + acceptance process for each Phase
How Saeree ERP Can Help:
  • We provide a Requirement Spec Template — no need to start from scratch. Request at sale@grandlinux.com
  • Our Pre-sales team helps write specs for free — before you decide, we help analyze your requirements
  • Full support for all Non-Functional Requirements — OWASP, 2FA, RBAC, Audit Trail, DR, Multi-browser
  • Experience writing government TOR — we understand the procurement process and Comptroller General's Department standards

"A successful ERP project starts with a good Requirement Spec — there are no shortcuts. If the spec is unclear, the result is a system that doesn't meet your needs. Spending one more week writing a solid spec is far better than spending six more months fixing a system that was built wrong."

References

  • Panorama Consulting Group — "ERP Report 2024: Common Causes of Project Failure"
  • Gartner — "How to Write an Effective ERP RFP" (2024)
  • Bureau of the Budget (Thailand) — "Guidelines for Writing TOR for IT Projects"
  • OWASP Foundation — "OWASP Application Security Verification Standard (ASVS) v4.0"

Interested in ERP for Your Organization?

Consult our experts at Grand Linux Solution — free of charge

Request Free Demo

Call 02-347-7730 | sale@grandlinux.com

Saeree ERP Team

About the Author

Expert ERP team from Grand Linux Solution Co., Ltd. Ready to consult and provide comprehensive ERP services.