---
id: performance-obligations
title: Performance Obligations (POB) & SSP Allocation Engine
sidebar_label: Performance Obligations & SSP
description: How GAAPx identifies distinct performance obligations, computes Standalone Selling Price (SSP) relative fair values, and allocates transaction prices under ASC 606.
keywords:
  - performance obligations engine
  - SSP allocation calculator
  - standalone selling price SaaS
  - ASC 606 Step 4 allocation
  - carve-out accounting
author: GAAPx Technical Accounting Team
last_updated: 2026-10-02
---

# Performance Obligations (POB) & SSP Allocation Engine

> **Quick Summary:** GAAPx automates ASC 606 Step 2 (Identifying Performance Obligations) and Step 4 (Allocating Transaction Price via Standalone Selling Price). The engine evaluates whether software licenses, professional services, premium support, and usage components represent distinct deliverables, calculates the relative SSP allocation across all contract elements, and automatically distributes bundle discounts to prevent deferred revenue distortions.

---

## The SSP Allocation Flow

When a sales agreement bundles multiple SKUs at a non-standard discount, GAAPx calculates the relative fair value allocation instantaneously:

```mermaid
flowchart TD
    Contract["Signed Contract: $200,000 Total Stated Price\n• SaaS Platform: Stated $160,000 (SSP: $180,000)\n• Professional Services: Stated $40,000 (SSP: $60,000)"]
    
    Calc["GAAPx SSP Engine Calculation\nTotal SSP Fair Value = $180k + $60k = $240,000\nBundle Discount = 16.67% ($40,000 Total Discount)"]
    
    POB1["POB 1: SaaS License ($180k / $240k) * $200k = $150,000\nAmortized Over 12 Months: $12,500 / Month"]
    POB2["POB 2: Services ($60k / $240k) * $200k = $50,000\nRecognized Upon Milestone Completion"]

    Contract --> Calc
    Calc --> POB1
    Calc --> POB2
```

---

## 3 Methods for Establishing Standalone Selling Price (SSP)

GAAPx supports all three standard ASC 606 / IFRS 15 methodologies for establishing SSP price books:

| Methodology | GAAP Standard | When to Use in SaaS |
| :--- | :--- | :--- |
| **1. Adjusted Market Assessment** | ASC 606-10-32-33 | Used for standardized core platform tiers and add-on seats based on historical standalone sales data. |
| **2. Expected Cost Plus Margin** | ASC 606-10-32-34 | Used for custom integrations, data migration services, and dedicated technical account managers (TAM). |
| **3. Residual Approach** | ASC 606-10-32-35 | Used only when standalone prices are highly variable or unestablished (subject to strict auditor review). |

---

## POB Recognition Rule Templates

Assign custom revenue recognition logic to each Performance Obligation category:

```json
{
  "pob_template_id": "pob_tpl_saas_annual",
  "name": "Annual SaaS Subscription",
  "distinct_test": "PASSED",
  "revenue_pattern": "RATABLE_DAILY",
  "amortization_method": "ACTUAL_DAYS_IN_MONTH",
  "auto_ssp_carveout": true,
  "journal_mapping": {
    "deferred_rev_account": "2200 - Deferred Revenue",
    "revenue_account": "4000 - Subscription SaaS Revenue"
  }
}
```

- **Ratable Over Time (Daily / Monthly)**: Standard for cloud platform access and ongoing maintenance.
- **Point-in-Time (Milestone Delivery)**: Standard for one-off deployments, data exports, or hardware shipments.
- **Percentage of Completion**: Standard for multi-month custom engineering projects based on logged hours vs budget.
