How to use this reference
- Use this page for quick status and limit lookup
- Use the related module guide for the complete workflow
- Status names may be stored directly or derived from related records
- Available actions may still depend on role, assignment, module entitlement, and company state
- Plan values should be read from the current commercial configuration on /subscription and /pricing
- Fixed product safeguards apply regardless of plan unless code explicitly says otherwise
Status terminology
Stored status
- Saved directly on the record and changed through supported workflow actions
Derived status
- Calculated from related records, dates, balances, or entitlement state
Terminal status
- Completed, cancelled, paid, voided, rejected, or expired states where normal editing is restricted
Reversible status
- May return through supported reopen, resubmit, reactivate, replace, or correction workflows
Not every status can be manually selected from a dropdown.
Common status patterns
| Pattern | Typical meaning | Typical editability |
|---|---|---|
| Draft | Record is still being prepared | Usually editable |
| Submitted / Pending | Waiting for review | Often restricted |
| Approved | Authorized or accepted | Editing usually restricted |
| Ongoing / Partial | Workflow is in progress | Remaining work allowed |
| Completed / Settled | Workflow is finished | Historical or read-only |
| Paid | Financial settlement recorded | Protected |
| Rejected | Review failed | Correction or new submission may be required |
| Cancelled | Workflow stopped | Historical record preserved |
| Voided | Prior financial result invalidated through protected workflow | Historical record preserved |
| Expired | Time or entitlement ended | Renewal or reactivation may be required |
Exact behavior varies by module.
Project statuses
| Status | Meaning | Counts toward working-project limit | Editability |
|---|---|---|---|
| Planning | Stored — project is being set up | Yes | Editable; operational work may be limited until Active |
| Active | Stored — project is in progress | Yes | Editable; labor, expenses, and collections allowed where role permits |
| On Hold | Stored — project is paused | No — not counted as a working project | Editable; history remains visible |
| Completed | Stored — project is finished | No — counts toward completed-project retention instead | Operationally locked; reopen may be supported with limits |
| Cancelled | Stored — project was stopped | No | Operationally locked; historical record preserved |
See /docs/guides/projects for workflow detail. Enforcement uses working projects (Planning + Active). Some Help Center copy still says active project — both refer to plan capacity, but only Planning and Active are counted in code.
Attendance and timesheet statuses
| Status family | Labels | Payroll eligibility | Notes |
|---|---|---|---|
| Attendance time entry | Open (Clocked In), Closed (Completed) | Only after approval | Open means checked in without checkout |
| Attendance approval | Pending, Approved, Rejected, Adjusted, Missing Checkout, Late, Undertime, Overtime | Approved only | Rejected attendance is excluded from payroll |
| Overtime request | Pending, Approved, Rejected | Approved OT may affect payroll when configured | Separate from base attendance approval where used |
See /docs/guides/attendance, /docs/guides/timesheet, and /docs/modules/salaries-payroll. Approved attendance cannot be reused in another active non-voided payroll run.
Expense and approval statuses
| Scope | Stored statuses | Profit effect | Editability |
|---|---|---|---|
| Project Expense | Pending, Approved, Rejected, Cancelled | Approved only | Pending editable; approved/rejected/cancelled restricted |
| Company Expense | Pending, Approved, Rejected, Cancelled | Approved company cost only | Same approval pattern; separate guide |
| Approval queue | Pending review actions | No effect until approved | Reviewer role required |
Project and company expenses do not use a Draft stored status today. See /docs/modules/project-expenses, /docs/guides/company-expenses, and /docs/guides/approvals.
Collections and billing statuses
| Record | Stored status | Customer label | Meaning |
|---|---|---|---|
| Billing | Pending | Pending | Billing recorded; no collection yet |
| Billing | Partially Collected | Partially Collected | Some payment recorded |
| Billing | Collected | Paid | Billing fully collected in Prospeno |
| Collection payment | Payment rows | Collection amount | What the client actually paid |
See /docs/guides/collections.
Budget Release and liquidation statuses
| Family | Statuses | Stored or derived | Notes |
|---|---|---|---|
| Budget Release | Pending, Rejected, Open, Partially Liquidated, For Review, Fully Liquidated, Over Liquidated, Closed, Cancelled | Stored | Release approval is not expense recognition |
| Liquidation item | Draft, Submitted, Approved, Rejected, Needs Revision | Stored | Submitted and approved amounts affect remaining balance |
| Returned funds | Recorded, Reversed | Stored | Returned funds are not project cost |
| Available Remaining | Released − Submitted Liquidation − Returned Funds | Derived | Settlement preserves history |
See /docs/modules/cash-advances-liquidation.
Office Budget Request statuses
| Status | Stored or derived | Meaning |
|---|---|---|
| Draft | Stored | Not yet submitted |
| Submitted | Stored | Awaiting review |
| Approved | Stored | Approved for release workflow |
| Rejected | Stored | Requires revision or new request |
| Cancelled | Stored | Stopped; history preserved |
| Not Released / Partially Released / Fully Released | Derived | From linked Budget Releases |
| Not Started / In Progress / Settled | Derived | Utilization across linked releases |
See /docs/modules/office-budget-requests.
Materials statuses
| Family | Statuses | Cost recognition |
|---|---|---|
| Material request | Draft, Submitted, Approved, Partially Approved, Rejected, Cancelled, For Fulfillment, Completed | Approved request is not yet actual cost |
| Item line | Pending, Approved, Partially Approved, Rejected, Fulfilled | Fulfillment creates cost according to routing |
| Fulfillment | Pending, Partially Fulfilled, Fulfilled, Completed | Actual unit cost posts on supported fulfillment |
See /docs/modules/materials-requisition.
Payroll statuses
| Payroll run status | Editable | Attendance reuse | Terminal |
|---|---|---|---|
| Draft | Yes | Not reserved | No |
| Reviewed | Limited | Reserved in active run | No |
| Approved | Restricted | Reserved | No |
| Paid | Protected | Used | Yes |
| Voided | Protected | Released for correction workflow | Yes |
See /docs/modules/salaries-payroll. Paid payroll must not be rewritten directly — use supported void, replacement, or correction workflows.
Quotation statuses
| Status | Meaning | Editability | Automatic conversion |
|---|---|---|---|
| Draft | Being prepared | Editable | No — manual status transitions only |
| Ready | Ready for client review | Editable | No — manual status transitions only |
| Submitted | Shared with client | Restricted | No — manual status transitions only |
| Waiting | Awaiting client decision | Restricted | No — manual status transitions only |
| Won | Win outcome recorded | Restricted | No — manual status transitions only |
| Lost | Loss outcome recorded | Restricted | No — manual status transitions only |
Implemented labels: Draft, Ready, Submitted, Waiting, Won, Lost. Prospeno does not auto-create projects, billings, or collections from quotation acceptance. See /docs/modules/quotations.
User statuses
| State | Customer label | Sign-in effect |
|---|---|---|
| Active account | Active | May sign in when other checks pass |
| Inactive account | Inactive | Blocked — Admin action required to reactivate |
| Password change required | Password Change Required | Forced password change before access |
| email unverified | Email verification required | Verification required where enforced |
Historical records remain tied to the user. See /docs/guides/users-access and /docs/guides/account-access-recovery. Prospeno does not use an invitation status label.
Wallet top-up and transaction statuses
| State | Balance effect | Spendable |
|---|---|---|
| Pending (QR Ph or manual request) | No credit posted | No |
| Paid / Approved | Increases available credits | Yes |
| Failed / Expired / Cancelled (QR Ph) | No effect | No |
| Rejected (manual request) | No effect | No |
| Top-up Pending (activity row) | No spendable credit yet | No |
| Subscription Payment | Decreases available credits | N/A |
| Refund / Reversal (when posted) | May restore credits | When credited |
See /docs/guides/wallet and /docs/guides/billing-troubleshooting.
Subscription statuses
| Status | Access | Renewal | History |
|---|---|---|---|
| Trial | Introductory access per plan rules | May convert to paid | Preserved |
| Active | Company-wide entitlement in good standing | Renews per billing schedule | Preserved |
| Overdue | Renewal or billing follow-up overdue | May restrict actions | Preserved |
| Suspended | Access may be restricted | Requires restoration | Preserved |
| Cancelled | Company-wide actions may be restricted | No automatic renewal | Preserved |
Wallet balance alone does not reactivate subscription. See /docs/guides/subscription. Cancelling is not the same as deleting records.
Module entitlement statuses
| Display status | New records | Existing records | Billing |
|---|---|---|---|
| Included (core) | Yes within plan limits | Visible | Included with base plan |
| Available | Requires activation | N/A until active | Purchase required |
| Active | Yes where role permits | Visible and editable | Paid or included |
| Cancelling | Until paid-through date | Visible | Renewal stopped |
| Expired | Blocked | Preserved; may be read-only | Reactivation required |
| Unavailable / Disabled / Coming Soon | Blocked | May be hidden | Not purchasable |
Role permission remains required after entitlement is active. See /docs/guides/module-marketplace.
Limit categories
Plan-controlled limits
- Values vary by company plan or live commercial configuration
- Examples: active employees, working projects, completed-project retention, and other enforced plan capacities
Fixed product limits
- Safeguards enforced consistently by the workflow
- Examples: quotation section/item limits, logo size, welcome-message length, markup range
Entitlement limits
- A module must be active before its workflow is available
Record-state limits
- Approved, paid, completed, cancelled, or expired records may restrict editing
User or employee limit
Enforcement
- Customer-facing term: active employees or users
- Counts active company users
- Inactive users do not count toward the limit
- PlanLimitUpgradePrompt shows current usage and limit when available
- Upgrade CTA routes to /subscription/upgrade
- After upgrade, capacity increases according to the current subscription workflow
- Downgrade may be blocked until usage fits the target plan
- Historical user records are preserved
Active or working project limit
Canonical enforcement term: working projects
- Planning and Active projects count toward the working-project limit
- On Hold, Completed, and Cancelled do not count as working projects
- Creation and some reopen transitions are blocked at the limit
- PlanLimitUpgradePrompt title uses Working project limit reached
- Some surfaces still say active project — refer to Subscription for live wording
Completed-project retention
- Controls how many completed projects remain available for history and reporting
- Completed projects are not deleted automatically when the limit is reached
- Older completed projects may become locked or less accessible according to current plan behavior
- Upgrade increases retained capacity on the current plan
- Read-only history should remain auditable
- Live values appear on /subscription, /pricing, and /help#plans-capacity
Quotation limits
Fixed per-quotation safeguards
- Maximum sections per quotation: 10
- Maximum total items per quotation: 300
- Maximum note boxes per quotation: 5
- Markup range: 0% to 500%
- Duplicated and imported items count toward totals
- Deleted items release capacity according to current builder behavior
- Validation blocks unsupported values before save
Company logo limit
- Maximum file size: 2 MB (2,097,152 bytes)
- Accepted formats: PNG or WebP
- Validation message: Logo must be 2 MB or smaller.
- Applies to Company Identity logo upload
- Transparent backgrounds are recommended for login branding
- Does not affect module entitlement persistence
Custom Branding limits
- Welcome message maximum length: 160 characters
- Curated accent presets: 16 named presets — no arbitrary hex entry in the standard UI
- Uses the saved company logo from Company Identity
- Web-only branding surfaces — not a custom mobile app
- No arbitrary CSS, fonts, or unrestricted color values
Kiosk and attendance limits
- Employee Kiosk PIN: exactly 4 digits
- After three failed PIN attempts, the kiosk terminal temporarily locks for approximately 30 seconds
- Selfie capture may be required depending on kiosk settings
- Offline queue behavior is documented in the Kiosk Attendance guide
- Attendance overlap and location rules are enforced by the attendance workflow
See /docs/kiosk-attendance-mode and /docs/guides/attendance.
Upload limits
| Upload type | Formats | Maximum size | Source |
|---|---|---|---|
| Expense receipt / proof (input) | image/jpeg, image/png, image/webp | 15 MB input | Shared expense proof constants |
| Expense proof (stored output) | Compressed image | 4 MB output | Server compression target |
| Receipt uploads (legacy constant) | image/jpeg, image/png, image/webp, application/pdf | 10 MB | Shared receipt constant |
| Attendance selfie / photo | image/jpeg, image/png, image/webp | 200 KB after compression (server validation) | Attendance and kiosk routes |
| Company logo | PNG, WebP | 2 MB | Company logo API |
Payroll limits and safeguards
- Payroll periods must not overlap for active runs
- Only eligible approved attendance is included
- Attendance cannot be reused in another active non-voided payroll run
- Additions and deductions are validated before approval
- Cash-advance deductions cannot exceed eligible balance
- Approved and paid runs are protected from direct rewrite
What happens when a limit is reached
- 1
Read the exact message
Identify the limit type.
- 2
Check current usage
Review active records and statuses.
- 3
Avoid deleting history
Do not remove records solely to bypass a limit.
- 4
Use a supported resolution
Upgrade, change record status, archive where supported, reduce active usage, or correct invalid input.
- 5
Confirm the new capacity
Refresh after the supported change.
- 6
Contact support for inconsistent counts
Provide the limit type, current usage, and safe screenshot.
Upgrade behavior
- Company Admins upgrade from Subscription → Upgrade
- Employee, working-project, and completed-project limits should update with the new plan
- Upgrade applies according to the current subscription workflow
- Role and module entitlement remain separate checks
- Existing data remains preserved
- Refresh the page or start a new session if capacity looks stale
- Contact support if usage still contradicts Subscription after upgrade
Downgrade and expiry behavior
Limit terminology
| Term | Meaning |
|---|---|
| Active user / employee | Company user with an active account |
| Working project | Project in Planning or Active status counted toward plan capacity |
| Completed-project retention | How many completed projects remain available for history |
| Module entitlement | Whether the company owns or includes a workflow |
| Available Wallet balance | Spendable Prospeno billing credit |
| Fixed workflow limit | Product safeguard such as quotation item count |
| Plan capacity | Live limit from the current company plan |
| Read-only state | Historical view without normal editing |
Source-of-truth guidance
- Displayed plan capacity comes from the current company plan on /subscription
- Commercial configuration may change over time
- /pricing and Subscription → Upgrade are customer-facing capacity references
- Module-specific fixed limits are enforced by each workflow
- Help Center examples must not override live account values
Important notes
- Status behavior varies by module.
- A visible status does not grant permission.
- Derived statuses may change when related records change.
- Plan limits may vary by current commercial configuration.
- Public documentation must not be treated as a price quotation.
- Fixed workflow safeguards may apply regardless of plan.
- Reaching a limit should not delete historical data.
- Downgrade or expiry may restrict new actions.
- Record-state locks may remain even when capacity is available.
- Module entitlement and role permission are separate.
- Some corrections require a company Admin.
- Inconsistent counts or states may require Prospeno support.