Revenue Management APIs¶
The Revenue Management APIs provide functionality for revenue forecasting, profit analysis, financial reporting, and NetSuite integration in the Stratpoint Timesheet Application. These APIs are designed for complex business financial operations with extensive filtering, revenue recognition, and profit margin analysis.
Authentication Headers¶
All revenue management endpoints require authentication:
Revenue Forecasting and Analysis¶
Revenue Forecast Report¶
Retrieves comprehensive revenue forecast data with advanced filtering and grouping options.
/api/v2/revenue/forecastReport
Permission Required: Permission ID 109
Request Body:
{
"startYearMonth": "2024-01",
"endYearMonth": "2024-12",
"utilizationFactor": 0.85,
"mainGroupField": "business_unit",
"selectBusinessUnit": "1,2,3",
"selectClient": "1,2",
"selectClientLocation": ["Local", "Foreign"],
"selectCompany": "1,2",
"selectProject": "1,2,3",
"selectProjectStatus": "1,2",
"selectProjectType": "1,2",
"selectReportStatus": "1,2",
"selectSowSigned": ["yes", "no"],
"selectBusinessLine": "1,2",
"selectProbabilityOfClosing": "1,2,3",
"selectEngagementManager": "123,456",
"selectSalesPerson": "789,101",
"considerCoca": true,
"newBusiness": "1,2"
}
Validation Rules:
- startYearMonth: Required, format YYYY-MM
- endYearMonth: Required, format YYYY-MM, must be after start date
- utilizationFactor: Required numeric, minimum 0
- mainGroupField: Required, one of: company_booking, business_unit, netsuite_project, client
Response:
{
"header": {
"status": 200,
"title": "Revenue",
"description": "Data Successfully Retrieved"
},
"body": {
"allowSaveSnapshot": true,
"data": [
{
"companyBookingId": 1,
"companyBookingName": "Stratpoint Technologies Inc.",
"children": [
{
"clientId": 123,
"clientName": "ABC Corporation",
"projects": [
{
"projectId": 456,
"projectName": "Enterprise Portal Development",
"forecastRevenue": "150000.00",
"actualRevenue": "125000.00",
"projectedRevenue": "180000.00",
"utilizationFactor": 0.85,
"monthlyBreakdown": [
{
"yearMonth": "2024-01",
"forecastRevenue": "12500.00",
"actualRevenue": "11000.00"
}
]
}
]
}
]
}
],
"filters": {
"businessUnits": [
{
"id": 1,
"name": "Technology",
"isActive": 1
}
]
}
}
}
Save Revenue Data¶
Saves revenue forecast or actual revenue data.
/api/v2/revenue/save
Get Revenue Details¶
Retrieves detailed revenue information for a specific revenue record.
/api/v2/revenue/getDetails/{revenueId}
Parameters:
- revenueId: Revenue record ID (required)
Fixed Price Revenue Operations¶
Search Fixed Price Revenue¶
Retrieves fixed price revenue data with filtering.
/api/v2/revenue/fixed_price/search
Get Fixed Price Revenue Filters¶
Retrieves filter options for fixed price revenue reports.
/api/v2/revenue/fixed_price/searchfilters
Revenue Snapshot and Change Management¶
Save Snapshot Revenue Changes¶
Creates snapshot of revenue changes for tracking historical data.
/api/v2/revenue/saveSnapShotRevenueChanges/{snapShotDate?}/{projectId?}
Parameters:
- snapShotDate: Optional snapshot date
- projectId: Optional project ID filter
Get Snapshot Report¶
Retrieves revenue snapshot report for analysis.
/api/v2/revenue/getSnapshotReport
Override Revenue Amount¶
Allows manual override of revenue amounts.
/api/v2/revenue/overrideAmount
Request Body:
{
"revenueId": 123,
"overrideAmount": "15000.00",
"reason": "Client contract adjustment",
"effectiveDate": "2024-01-15"
}
Business Unit and Contribution Analysis¶
BU Contribution Report¶
Retrieves business unit contribution analysis.
/api/v2/revenue/buContributionReport
BU Contribution Margin Report by Business Unit¶
Retrieves contribution margin report for specific business unit.
/api/v2/revenue/buContributionMarginReport/byBu
BU Contribution Margin Report for All Business Units¶
Retrieves contribution margin report for all business units.
/api/v2/revenue/buContributionMarginReport/allBu
Revenue Per Resource¶
Retrieves revenue contribution per resource.
/api/v2/revenue/buContributionMarginReport/revenuePerResource
Account Consolidated Revenue¶
Retrieves consolidated revenue data by account.
/api/v2/revenue/accountConsolidatedRevenue
NetSuite Integration¶
Export NetSuite Unbilled Revenue JE¶
Exports NetSuite journal entries for unbilled revenue.
/api/v2/revenue/exportNetSuiteUnbilledRevenueJE
Export NetSuite Unbilled Revenue JE Intra-Company¶
Exports NetSuite intra-company journal entries for unbilled revenue.
/api/v2/revenue/exportNetSuiteUnbilledRevenueJEIntraco
Finance Revenue Operations¶
Import Finance Revenue Report¶
Imports revenue data from external finance reports.
/api/v2/revenue/importFinanceRevenueReport/{reportType}
Parameters:
- reportType: Type of finance report being imported
Get Finance Revenue Report¶
Retrieves finance revenue report data.
/api/v2/revenue/getFinanceRevenueReport
Profit Analysis APIs¶
Gross Net Profit Report¶
Retrieves comprehensive profit analysis with gross and net margins.
/api/v2/profits/grossNetProfitReport
Permission Required: Permission ID 118
Request Body:
{
"startYearMonth": "2024-01",
"endYearMonth": "2024-12",
"selectBusinessUnit": "1,2,3",
"selectClient": "1,2",
"selectCompany": "1,2",
"selectProject": "1,2,3",
"selectProjectStatus": "1,2",
"selectReportType": ["revenue", "budgeted", "assigned", "actual", "actualResource", "cumulative"]
}
Validation Rules:
- startYearMonth: Required, format YYYY-MM
- endYearMonth: Required, format YYYY-MM, must be after start date
- selectReportType: Array of report types
Response:
{
"header": {
"status": 200,
"title": "Profit",
"description": "Data Successfully Retrieved"
},
"body": {
"companyData": [
{
"companyBookingId": 1,
"companyBookingName": "Stratpoint Technologies Inc.",
"children": [
{
"clientId": 123,
"clientName": "ABC Corporation",
"projects": [
{
"projectId": 456,
"projectName": "Enterprise Portal Development",
"totalRevenue": "150000.00",
"totalCost": "120000.00",
"grossProfit": "30000.00",
"grossMargin": 20.0,
"netProfit": "25000.00",
"netMargin": 16.67
}
]
}
]
}
]
}
}
Project Margin Report¶
Retrieves detailed project margin analysis.
/api/v2/profits/projectMarginReport
Project Margin Assigned vs Actual Report¶
Compares assigned versus actual project margins.
/api/v2/profits/projectmarginassignedactualreport
Year to Date Profit Margin¶
Retrieves year-to-date profit margin analysis.
/api/v2/profits/yearToDateProfitMargin
Supporting Data with User Promotion¶
Retrieves supporting data including user promotion impacts.
/api/v2/profits/getSupportingDataWithUserPromotion/{projectId}/{startDate}/{endDate}
Parameters:
- projectId: Project ID (required)
- startDate: Start date in YYYY-MM-DD format (required)
- endDate: End date in YYYY-MM-DD format (required)
Project Manager Dashboard¶
PM Dashboard¶
Retrieves project manager dashboard data with various grouping options.
/api/v2/profits/pmDashboard/{reportGrouping}
Parameters:
- reportGrouping: Grouping method for the dashboard
PM Dashboard Snapshot¶
Retrieves snapshot of project manager dashboard data.
/api/v2/profits/pmDashboardSnapShot/{reportGrouping}
Parameters:
- reportGrouping: Grouping method for the snapshot
Business Rules and Financial Concepts¶
Revenue Recognition¶
Revenue recognition follows business rules: - Fixed Price Projects: Revenue recognized based on milestone completion - Time and Materials: Revenue recognized based on hours logged - Hybrid Projects: Combination of fixed price and T&M recognition
Utilization Factor¶
Utilization factor impacts revenue calculations: - Standard utilization: 0.85 (85%) - Affects projected revenue calculations - Used in capacity planning and forecasting
Grouping Options¶
Revenue reports can be grouped by: - Company Booking: Legal entity grouping - Business Unit: Organizational unit grouping - NetSuite Project: Financial system project grouping - Client: Customer-based grouping
Probability of Closing¶
Revenue forecasting considers probability factors: - High probability: 90-100% - Medium probability: 50-89% - Low probability: 10-49% - Unlikely: 0-9%
Error Handling¶
Common Error Responses¶
Access Denied:
{
"header": {
"status": 401,
"title": "Revenue",
"description": "Access not allowed"
},
"body": []
}
Validation Error:
{
"header": {
"status": 412,
"title": "Revenue",
"description": "Validation error encountered"
},
"body": {
"errors": {
"startYearMonth": ["The start year month field is required"],
"utilizationFactor": ["The utilization factor must be a number"]
}
}
}
No Records Found:
Key Implementation Notes¶
- Business-Centric Design: Revenue APIs focused on business financial operations rather than generic CRUD
- Complex Filtering: Extensive filtering options with comma-separated integer arrays and business-specific filters
- NetSuite Integration: Deep integration with NetSuite ERP for financial data export
- Snapshot Capability: Revenue change tracking with historical snapshots
- Permission-Based Access: Different permission levels for revenue viewing and profit analysis
- Multi-dimensional Analysis: Revenue analysis by multiple business dimensions
- Forecasting Focus: Heavy emphasis on revenue forecasting and projection
- Profit Margin Analysis: Comprehensive profit analysis with multiple margin calculations
This Revenue Management API is designed for enterprise financial management with complex business rules, forecasting capabilities, and comprehensive profit analysis.