
GITNUXSOFTWARE ADVICE
Education LearningTop 9 Best Substitute Software of 2026
Top 10 Substitute Software roundup ranks substitute management tools with criteria and tradeoffs for school staff, featuring Frontline tools.
How we ranked these tools
Core product claims cross-referenced against official documentation, changelogs, and independent technical reviews.
Analyzed video reviews and hundreds of written evaluations to capture real-world user experiences with each tool.
AI persona simulations modeled how different user types would experience each tool across common use cases and workflows.
Final rankings reviewed and approved by our editorial team with authority to override AI-generated scores based on domain expertise.
Score: Features 40% · Ease 30% · Value 30%
Gitnux may earn a commission through links on this page — this does not influence rankings. Editorial policy
Editor’s top 3 picks
Three quick recommendations before you dive into the full comparison below — each one leads on a different dimension.
Substitute Teacher Management System
Assignment history tied to requests and substitutes enables audit-ready coverage reporting across schools.
Built for fits when district staffing teams need controlled substitute placement workflows without custom software..
Aesop
Editor pickCoverage lifecycle state model with API-triggered transitions for request, assignment, and override tracking.
Built for fits when operations teams need API automation and governance over substitute coverage across multiple sites..
Frontline Absence & Substitute Management
Editor pickAbsence-to-substitute workflow configuration that applies assignment rules consistently across sites and absence reasons.
Built for fits when districts need controlled, rules-based substitute assignment across many campuses with governance requirements..
Related reading
Comparison Table
This comparison table maps Substitute Software tools across integration depth, including roster and HR data flow, and how each product models absences, substitutes, and assignments in its schema. It also compares automation and the API surface for provisioning, configuration, and extensibility, plus admin and governance controls such as RBAC and audit log coverage. The goal is to highlight concrete tradeoffs in data model, workflow automation, and system throughput for common school operations.
Substitute Teacher Management System
district specialistWeb-based substitute management for school districts with staff onboarding, absence-driven assignment workflow, and administrative control over which substitutes can accept or be assigned.
Assignment history tied to requests and substitutes enables audit-ready coverage reporting across schools.
Substitute Teacher Management System centers on scheduling workflows for substitute placements and maintains an operational record of request and assignment results. The data model links substitute availability, request requirements, and placement outcomes so administrators can audit coverage decisions. Integration depth is most likely driven by a documented automation surface such as API endpoints or export options that connect district systems to request intake.
A key tradeoff is higher governance overhead when districts require strict approval chains and role separation across schools and departments. Substitute Teacher Management System fits best when coverage volume is high and staff need consistent rules for matching, confirmations, and history-based reporting.
- +Request-to-placement workflow with assignment history tracking
- +Data model ties schools, substitutes, and outcomes
- +Configuration supports deterministic matching rules
- +Audit-friendly records for coverage decisions
- –Strict approval workflows can add administrative steps
- –Integration requires deliberate mapping into the request schema
District operations teams
Manage daily coverage request flow
Fewer missed assignments
School administrators
Approve and confirm substitute coverage
More predictable confirmations
Show 2 more scenarios
IT integration teams
Automate request intake via API
Lower manual data entry
Provision substitute and request data into the system while preserving the schema.
HR and compliance staff
Audit coverage decisions
Better documentation for audits
Review historical placements mapped to requests for governance and reporting needs.
Best for: Fits when district staffing teams need controlled substitute placement workflows without custom software.
Aesop
district specialistCloud substitute management that automates absence posting, substitute assignment, and scheduling through configurable district rules and role-based administration.
Coverage lifecycle state model with API-triggered transitions for request, assignment, and override tracking.
Aesop fits organizations that need coverage orchestration across time, roles, and sites without breaking existing HR and workforce systems. Integration depth shows up through API-first extensibility that can map the substitute lifecycle into upstream events and downstream notifications. The data model typically treats each coverage request as a stateful entity with related participants, times, and constraints. Automation relies on rules and workflow configuration that can be triggered by events coming through the same API surface.
A clear tradeoff is that deep automation usually requires careful schema mapping between Aesop entities and the source system fields. Admin overhead increases when multiple teams share overlapping roles, locations, and substitution policies. Aesop works best when substitutes must be allocated quickly with consistent audit trails and when administrators need RBAC boundaries around who can accept, assign, or override coverage decisions.
- +API-driven substitution workflow supports event-based integrations
- +Stateful coverage data model maps requests to assignments
- +RBAC and audit logs help limit and trace administrative changes
- +Configuration supports policy rules without ad hoc spreadsheets
- –Schema mapping effort increases when source systems differ
- –More complex role and location models raise admin overhead
- –Automation tuning takes time to prevent unexpected reassignments
HR operations teams
Automate substitute assignment from HR events
Fewer manual coverage steps
School district administrators
Manage substitutes across multiple campuses
Consistent coverage decisions
Show 2 more scenarios
IT integration teams
Provision substitution data via API
Higher integration throughput
Uses an extensibility surface to map substitute entities into existing systems and automate updates.
Operations governance managers
Control overrides with RBAC
Tighter access control
Restricts assignment actions by role and logs administrative overrides for review.
Best for: Fits when operations teams need API automation and governance over substitute coverage across multiple sites.
Frontline Absence & Substitute Management
district suiteAbsence and substitute workflow with district configuration, substitute pools, assignment logic, and audit-friendly admin controls for scheduling and staffing decisions.
Absence-to-substitute workflow configuration that applies assignment rules consistently across sites and absence reasons.
Frontline Absence & Substitute Management integrates absence entry with automated substitute request routing, using consistent employee and location references. The scheduling workflow ties request status, substitute availability, and assignment decisions to the same underlying entities. Administrative configuration can align absence reasons and substitution policies to local schema expectations, reducing manual rekeying across sites. Auditability for actions like request creation, assignment, and edits helps governance teams monitor operational throughput.
A tradeoff is that deeper automation relies on predefined policy structures and disciplined data setup for employees, sites, and substitutes. When districts need high-velocity coverage with frequent special cases, exception workflows can add operator steps that are not fully self-serve. It fits best when substitute coverage must stay aligned with RBAC boundaries and centralized governance across multiple campuses.
- +Policy-driven absence routing to substitute assignments using shared entities
- +Clear administrative configuration for reasons, eligibility, and coverage rules
- +Governance visibility with audit trails for request and assignment changes
- –Exception handling can require extra manual steps during unusual absences
- –Automation quality depends on clean employee, site, and substitute master data
District absence administrators
Route absences to qualified substitutes
Faster coverage approvals
School operations teams
Manage coverage across multiple sites
Lower scheduling rework
Show 2 more scenarios
IT and governance teams
Control access and monitor changes
Improved operational auditability
Uses RBAC and audit logs to track who changed requests and assignments.
Substitute coordinators
Reconcile availability with requests
Fewer unfilled assignments
Balances substitute availability against assignment priorities under configured constraints.
Best for: Fits when districts need controlled, rules-based substitute assignment across many campuses with governance requirements.
SmartFind Express
automation-firstSubstitute calling and assignment workflow that supports automated notifications and district-controlled substitution rules tied to absences and schedules.
Assignment rule processing that selects substitutes from availability and eligibility inputs through the dispatch workflow.
SmartFind Express supports school or district substitute management with scheduling, assignment rules, and staff availability tied to a defined data model. Integration depth centers on an administrative configuration layer plus an API and automation hooks for provisioning and workflow execution.
Automation and extensibility focus on reducing manual dispatch work through rule-based assignment logic and programmatic access to core entities. Admin governance emphasizes role-based access controls and audit logging to track changes across schedules, substitutions, and related records.
- +API and automation hooks for scheduling entities and assignment workflows
- +Clear data model for staff availability, roles, and substitution assignments
- +Rule-driven dispatch reduces manual intervention for common placement scenarios
- +Admin governance with RBAC and audit logs for configuration and record changes
- –Automation configuration can be complex for districts with edge-case staffing rules
- –Extensibility depends on documented API coverage for every operational entity
- –Throughput under peak daily dispatch events may require validation in staging
- –Change management needs careful governance to prevent unintended assignment rule edits
Best for: Fits when district teams need API-driven substitute scheduling with RBAC and audit trails for governance.
EduStaff
substitute workflowSubstitute management workflow that supports substitute onboarding, availability handling, and assignment processes for school and district use.
Credential and availability governed placement workflow that tracks assignment state changes end to end.
EduStaff manages substitute staffing workflows with educator credential and assignment handling tied to school schedules. The system supports operational administration for requests, placements, and status tracking across roles involved in staffing.
Integration depth centers on how educator, assignment, and availability data map into a consistent schema for downstream automation. Automation and extensibility appear strongest when teams use the available API surface to provision users, synchronize roster-like entities, and drive configuration changes.
- +Structured data model for educators, availability, and assignment status
- +Admin workflows support approval steps across request and placement stages
- +API-oriented integration enables provisioning and sync of staffing entities
- +Audit-friendly operational traceability for staffing decisions
- –Governance controls feel narrower outside core staffing roles
- –Automation coverage depends on what assignment states the API exposes
- –Customization options can require schema-aligned configuration
- –Throughput limits are not clearly documented for bulk sync jobs
Best for: Fits when districts need disciplined substitution assignment control with API-driven provisioning and audit trails.
Moodle
open-source LMSOpen-source learning platform that supports custom substitute-aware workflows via plugins, REST APIs, and data model extensions for role and access control.
Moodle web services with external functions supports API-first provisioning and automation across users, enrollments, and grading.
Moodle fits teams that need a configurable learning management system with deep customization and a documented integration surface. Its data model centers on courses, activities, roles, and enrollments, which supports consistent provisioning and access control patterns across sites.
Moodle offers a web services API for automation and integration, with extensibility through plugins that add capabilities without rewriting the core schema. Admin governance tools include RBAC controls and audit-relevant logs through configurable settings and standard reporting views.
- +Web services API supports automation for users, courses, and grading workflows
- +Extensible plugin architecture adds features while reusing Moodle’s role and course model
- +RBAC with role assignments enables structured access control across contexts
- +Configurable filters and competencies support standards-aligned content mapping
- –Admin governance and custom changes can increase operational overhead
- –Plugin development requires careful maintenance to avoid upgrades breaking integrations
- –Some automation tasks require custom endpoints or scheduled external orchestration
- –Complex course and context hierarchies can complicate data mapping for exports
Best for: Fits when organizations need API-driven provisioning, role-based access control, and plugin-based extensibility for learning workflows.
SchoolSpring
recruiting marketplaceJob listing platform used by districts and educators to recruit and match substitute candidates, with workflow tooling for postings and candidate communications.
Credential-based substitute matching tied to substitute request intake and assignment workflows
SchoolSpring is a substitute management system that centers on teacher qualification matching and district role workflows. Its differentiation comes from integration-driven job posting and assignment operations that reduce manual resubmission across schools.
The core capabilities include substitute request intake, candidate search and placement, and operational controls for scheduling accuracy. Admin governance focuses on staff permissions and auditability for request and assignment changes.
- +Candidate matching uses teacher credentials to reduce misassignments
- +Substitute request workflow supports school and district operational roles
- +Assignment history supports audit trails for schedule changes
- +Configuration supports consistent request and availability policies
- +Integration-friendly design supports automated provisioning flows
- –Automation depth is limited when workflows require custom business rules
- –API-based synchronization can require careful data mapping across schemas
- –Throughput can lag during peak hiring events due to manual review steps
- –Role governance depends on correct admin configuration per district
Best for: Fits when districts need credential-aware substitute assignment with controlled workflows and audit visibility.
K12JobSpot
substitute recruitingDistrict substitute hiring workflow using job postings and applicant management to recruit qualified candidates for short-term coverage assignments.
Substitute placement workflow tied to district and school context, with API hooks for automation and provisioning.
K12JobSpot ties substitute workflows to school hiring operations with a job-posting and placement lifecycle tailored to K-12 districts. The data model centers on substitute eligibility, assignment availability, and daily placement requests tied to specific districts and schools.
Integration depth depends on how districts map personnel, schools, and assignments into K12JobSpot schema for provisioning and ongoing synchronization. Automation and extensibility mainly surface through administrative configuration, operational controls for posting and matching, and API availability for workflow automation.
- +K-12 focused job and assignment data model for substitute placements
- +Administrative configuration for district and school posting workflows
- +API surface supports automation for matching and assignment actions
- +Workflow traceability through operational logs tied to placements
- –District and school schema mapping adds integration effort for SIS parity
- –Automation depth can depend on API coverage for niche hiring steps
- –RBAC granularity for multi-user governance may require process workarounds
- –Audit log detail may be insufficient for strict compliance reporting
Best for: Fits when districts need substitute placement automation with documented API integration into internal systems.
Workday
enterprise HREnterprise HR suite that can support substitute workforce administration through APIs and integrations for approvals, scheduling data, and governance.
Workday Studio orchestrates integrations and custom business logic with governed connectors.
Workday performs HR and finance workflows through a governed data model that ties worker, job, and organizational structure to transactions. Integration depth centers on Workday Studio and Workday APIs that support provisioning, inbound and outbound events, and custom business logic.
Automation and extensibility rely on configuration-driven process definitions plus scheduled jobs and event-based triggering across modules. Admin governance uses RBAC, tenant settings, and audit logging to control changes and track activity across integrations.
- +API-first integration patterns for provisioning, events, and transactional synchronization
- +Workday Studio supports extensibility with controlled logic and error handling
- +RBAC and audit logs provide traceability for admin actions and data changes
- +Configuration-driven workflows reduce custom code for approval and routing
- –Complex data schema mapping increases integration design time for custom sources
- –Throughput tuning and batching can be challenging for high-volume events
- –RBAC granularity can add admin overhead during ongoing integration maintenance
- –Sandbox and test environments often require careful configuration mirroring production
Best for: Fits when enterprise teams need controlled HR and finance automation with deep API-based integrations and auditability.
How to Choose the Right Substitute Software
This buyer's guide covers Substitute Software options used to post absences, schedule substitute coverage, and govern assignment outcomes across schools and districts. It references Substitute Teacher Management System, Aesop, Frontline Absence & Substitute Management, SmartFind Express, and EduStaff alongside SchoolSpring, K12JobSpot, Moodle, and Workday.
The guide focuses on integration depth, the underlying data model, automation and API surface, and admin and governance controls that affect provisioning, RBAC, audit logging, and change traceability.
Substitute coverage workflow systems that convert absence events into scheduled assignments
Substitute Software manages the request-to-assignment lifecycle by connecting absence inputs to substitute selection, dispatch, and placement status tracking. These systems also preserve assignment history and state transitions so coverage decisions can be audited and operationally reviewed.
Tools like Aesop implement a coverage lifecycle state model that maps requests to assignments with API-triggered transitions. Substitute Teacher Management System ties requests, substitutes, and assignment outcomes into an audit-friendly assignment history that supports coverage reporting across schools.
Integration, data model, automation surface, and governance checks that determine fit
Evaluation should start with how the tool’s data model links schools, absences, substitute eligibility, and assignment outcomes. It should then move to how automation executes those transitions through a documented API and how admins control who can change what.
Integration depth matters because schema mapping drives implementation effort and affects throughput during dispatch. Admin governance matters because RBAC, audit logs, and deterministic configuration prevent unintended rule edits and provide traceability for coverage disputes.
Coverage lifecycle state model with API-triggered transitions
Aesop exposes a coverage lifecycle state model that supports API-triggered transitions for request, assignment, and override tracking. This design makes automation more predictable than manual coordination and improves change traceability across coverage events.
Request-to-placement data model with assignment history for audit reporting
Substitute Teacher Management System keeps assignment history tied to requests and substitutes. This data linkage supports audit-friendly coverage reporting across schools and reduces time spent reconstructing assignment decisions.
Absence-to-substitute routing rules applied consistently across sites and absence reasons
Frontline Absence & Substitute Management uses absence-to-substitute workflow configuration to apply assignment rules consistently across sites and absence reasons. SmartFind Express uses dispatch rule processing that selects substitutes from availability and eligibility inputs through the dispatch workflow.
RBAC plus audit logging for configuration and record changes
Aesop provides role-based administration and traceable actions with audit logs that limit and explain administrative changes. SmartFind Express also emphasizes RBAC and audit logs for configuration and record changes across scheduling and substitutions.
Automation and API hooks for provisioning and workflow execution
SmartFind Express includes an API and automation hooks for provisioning scheduling entities and executing assignment workflows. EduStaff positions integration around an API-oriented surface for provisioning and synchronizing staffing entities, and Workday adds Workday Studio plus Workday APIs for event-based automation.
Extensibility surface that matches the operational object model
Moodle supports extensibility through plugins and a web services API that can automate users, enrollments, and learning-related workflows with RBAC controls. Workday Studio supports extensibility via governed integration logic that can orchestrate custom behavior across modules.
A decision framework for selecting Substitute Software that matches integration and governance requirements
Start by mapping the exact operational objects needed for automation. The decision should confirm whether the tool’s data model covers the same entities used in the district workflow, including schools, substitutes, availability, and assignment outcomes.
Then validate how automation and governance connect to that model. The selection should prioritize documented API surfaces and deterministic configuration so rule edits, overrides, and dispatch behavior remain controllable and auditable.
Align the tool’s data model to district entities before integration work starts
If the district workflow needs a request-to-placement chain with assignment outcomes for coverage reporting, Substitute Teacher Management System fits because it ties schools, substitute profiles, and assignment outcomes into a structured model. If the district needs a coverage lifecycle that tracks request, assignment, and overrides as state transitions, Aesop fits because it models coverage lifecycle states for API-driven operations.
Verify API-driven automation covers the transitions the district needs to automate
Choose Aesop when automation must move coverage through request, assignment, and override states via API-triggered transitions. Choose SmartFind Express when automation needs dispatch workflow execution that selects substitutes from availability and eligibility inputs using rule-driven dispatch and supporting API hooks.
Demand governance controls that match staffing administration realities
Select Aesop or SmartFind Express when multiple admins and operational teams must change policies safely since both emphasize RBAC and audit logs for configuration and record changes. Select Frontline Absence & Substitute Management when governance also requires controlled absence routing because it applies workflow configuration consistently across sites and absence reasons with audit visibility.
Plan integration schema mapping and exception handling based on workflow edge cases
Avoid underestimating integration effort when source systems differ because Aesop’s schema mapping work increases when systems do not match its policy and state model. Expect manual steps for unusual absences with Frontline Absence & Substitute Management if exception handling requires extra operations when coverage rules meet edge cases.
Match extensibility to the operational layer that must be customized
Use Moodle only when customization is acceptable at the learning platform layer and automation needs a plugin-based approach because its data model centers on courses, activities, roles, and enrollments with a web services API. Use Workday when the substitute program must integrate into enterprise HR operations since Workday Studio orchestrates integrations and custom business logic using governed connectors and Workday APIs.
Which organizations benefit most from these substitute coverage platforms
Substitute Software fits teams that must convert absence events into scheduled substitute assignments with controlled behavior and traceable outcomes. The best fit depends on whether the priority is district-wide governance, API automation, or credential-aware matching.
Tools also differ in where they place control depth. Substitute Teacher Management System and Frontline Absence & Substitute Management focus on controlled assignment workflows for districts. Aesop, SmartFind Express, and EduStaff emphasize API-driven automation and governance across multi-site coverage operations.
District staffing teams that need controlled placement without custom software
Substitute Teacher Management System fits because it automates substitute requests and placements with admin oversight and keeps assignment history tied to requests and substitutes for audit-ready coverage reporting.
Operations teams that need API automation and governance across multiple sites
Aesop is built around a coverage lifecycle state model with API-triggered transitions and includes RBAC and audit logs to limit and trace administrative changes. SmartFind Express also fits since it provides an API with automation hooks, RBAC, and audit logging tied to scheduling and dispatch workflows.
Districts that require policy-driven absence routing across many campuses and absence reasons
Frontline Absence & Substitute Management fits because it uses absence-to-substitute workflow configuration that applies assignment rules consistently across sites and absence reasons with governance visibility and audit trails.
Districts that want credential-aware matching with operational request intake workflows
SchoolSpring fits because it uses teacher credential matching tied to substitute request intake and keeps assignment history for audit trails. EduStaff also fits when credential and availability governance must track assignment state changes end to end.
Enterprise HR teams that must integrate substitute administration into HR and finance workflows
Workday fits because Workday Studio orchestrates integrations and custom business logic using Workday APIs with RBAC and audit logging across tenant settings. Moodle fits only when substitute-aware automation can live inside an LMS data model and extend via plugins with web services API.
Pitfalls that break substitute coverage deployments and governance expectations
Common failures come from mismatched data models, unclear automation coverage, and governance controls that do not match operational responsibilities. Integration issues frequently surface when schema mapping effort is underestimated or exception handling requires manual steps.
Another recurring failure comes from change management. When rule edits can cause unintended reassignments, dispatch behavior needs staging and governance patterns that prevent silent policy drift.
Choosing automation-first without confirming API-triggered coverage transitions
Avoid selecting a tool without validating that the API supports the same request, assignment, and override transitions the workflow requires. Aesop’s coverage lifecycle state model supports API-triggered transitions, and SmartFind Express includes API and automation hooks for dispatch workflow execution.
Underestimating schema mapping work between internal systems and the tool’s data model
Avoid assuming internal entity fields map directly when systems differ, since Aesop’s schema mapping effort increases when source systems diverge from its assignment and state model. K12JobSpot and Workday also require careful mapping when district or HR data does not match the tool’s expected schema objects.
Relying on configuration changes without RBAC and audit trails
Avoid deployments where admins can edit assignment logic without traceability since unintended rule edits can change dispatch outcomes. Aesop and SmartFind Express both emphasize RBAC and audit logs for configuration and record changes.
Ignoring exception handling paths for unusual absences
Avoid assuming all coverage scenarios fit the base routing rules, since Frontline Absence & Substitute Management can require extra manual steps during unusual absences. Validate that workflow exception handling matches staffing reality before rollout.
Selecting an extensibility approach that targets the wrong operational object model
Avoid using Moodle when substitute coverage needs are centered on district staffing dispatch rather than an LMS course and enrollment model. Use Moodle only when a plugin-based approach and Moodle web services align with substitute-aware workflows at the role and enrollment layer.
How We Selected and Ranked These Tools
We evaluated each substitute coverage tool on features, ease of use, and value, then produced an overall rating using a weighted average where features carries the most weight at forty percent while ease of use and value each account for thirty percent. Scores were derived from the provided capabilities and constraints described in each tool’s profile, including the presence of an API surface, the shape of the data model, automation behavior, and governance controls.
Substitute Teacher Management System separated itself by tying assignment history to requests and substitutes for audit-ready coverage reporting, and that strength aligns directly with the features factor that outweighed smaller gaps in ease of use and integration effort. That assignment history linkage also supports controlled admin decisioning in a request-to-placement workflow, which reduces operational ambiguity when coverage decisions are questioned.
Frequently Asked Questions About Substitute Software
Which substitute tools expose an API surface for automating request, assignment, and availability workflows?
How do Aesop and Frontline Absence & Substitute Management model coverage states across schools and teams?
What options support SSO-style governance and auditability for admin changes to substitute schedules?
Which tools are best suited for controlled substitute placement workflows without custom software builds?
What integration pattern fits districts that need to synchronize master personnel, site, and eligibility data into substitute scheduling?
How do EduStaff and SchoolSpring handle qualification matching and credential-driven placement decisions?
Which product choice reduces manual dispatch work through rule-based assignment processing?
What extensibility approach is available if teams need to add workflow capabilities beyond the core schema?
Which tools integrate best with enterprise HR systems where worker and organizational structure changes drive substitution eligibility?
Conclusion
After evaluating 9 education learning, Substitute Teacher Management System stands out as our overall top pick — it scored highest across our combined criteria of features, ease of use, and value, which is why it sits at #1 in the rankings above.
Use the comparison table and detailed reviews above to validate the fit against your own requirements before committing to a tool.
Tools reviewed
Primary sources checked during evaluation.
Referenced in the comparison table and product reviews above.
Keep exploring
Comparing two specific tools?
Software Alternatives
See head-to-head software comparisons with feature breakdowns, pricing, and our recommendation for each use case.
Explore software alternatives→In this category
Education Learning alternatives
See side-by-side comparisons of education learning tools and pick the right one for your stack.
Compare education learning tools→FOR SOFTWARE VENDORS
Not on this list? Let’s fix that.
Our best-of pages are how many teams discover and compare tools in this space. If you think your product belongs in this lineup, we’d like to hear from you—we’ll walk you through fit and what an editorial entry looks like.
Apply for a ListingWHAT THIS INCLUDES
Where buyers compare
Readers come to these pages to shortlist software—your product shows up in that moment, not in a random sidebar.
Editorial write-up
We describe your product in our own words and check the facts before anything goes live.
On-page brand presence
You appear in the roundup the same way as other tools we cover: name, positioning, and a clear next step for readers who want to learn more.
Kept up to date
We refresh lists on a regular rhythm so the category page stays useful as products and pricing change.
