Here’s a comprehensive solution addressing all three critical areas:
Job Scheduler User Context:
The core issue is that Infor OS Scheduler jobs run under the SCHEDULER_SVC system account by default, which has minimal permissions for security reasons. You have two approaches to fix this:
Approach 1 - Create a dedicated service account:
- In Infor OS Portal, create a new user account (e.g.,
REVENUE_AUTOMATION_SVC)
- Assign this account the necessary revenue management roles
- In your scheduled job definition, set the “Run As User” field to this service account
- The job will now execute with the service account’s full permission set
Approach 2 - Use context impersonation in your script:
// Pseudocode - Key implementation steps:
1. Obtain SecurityContext from Infor OS API
2. Create impersonation token for privileged user
3. Wrap revenue posting operations in impersonated context
4. Execute postEntry() with elevated permissions
5. Release impersonation context after operation completes
// See documentation: Infor OS Security API Guide
I recommend Approach 1 for better auditability and separation of concerns.
Role-Based Access Control:
Verify your service account has these specific roles assigned:
- Revenue-Manager - Base role for revenue recognition operations
- Revenue-Poster - Allows posting recognition entries
- Financial-Period-Writer - Permits posting to current/prior periods
- Contract-Reader - Needed to read milestone data
In ICS 2022, these roles are hierarchical. Simply having REVENUE_POST permission isn’t sufficient - the account needs the complete role that includes this permission plus related data access rights.
To assign roles:
- Navigate to Infor OS Portal > Security > Users
- Find your service account
- Go to “Role Assignments” tab
- Add the roles listed above
- Ensure “Effective Date” is set to current or earlier
- Save and wait 5-10 minutes for role cache refresh
Audit Log Review:
To diagnose the exact permission failure, enable detailed audit logging:
- Go to Infor OS > Administration > Audit Configuration
- Enable “Security Events” and “Permission Checks” for the Revenue Management module
- Run your scheduled job again (let it fail)
- Navigate to Security > Audit Trail
- Filter by:
- User: SCHEDULER_SVC (or your service account)
- Event Type: Permission Denied
- Time Range: Last hour
- Module: Revenue Management
The audit log will show entries like:
Event: PERMISSION_DENIED
User: SCHEDULER_SVC
Operation: RevenueRecognitionService.postEntry
Required Permission: REVENUE_POST
Required Role: Revenue-Poster
User Roles: [Scheduler-Base]
Reason: Missing required role assignment
This tells you exactly which role is missing. Add the missing roles to your service account.
Additional Troubleshooting:
If issues persist after role assignment:
- Verify the service account isn’t locked (check User Status in OS Portal)
- Confirm the account hasn’t exceeded concurrent session limits
- Check if your CloudSuite tenant has custom security policies that restrict service account operations
- Review the job’s execution history logs for any timeout or connection issues
Best Practice:
Create a dedicated “Revenue Automation” security role that bundles all necessary permissions, then assign this single role to your service account. This makes permission management cleaner and easier to audit. Document the role’s purpose and the specific permissions it includes for compliance reviews.
After implementing these changes, your scheduled revenue recognition job should execute successfully with proper permissions while maintaining audit trail compliance.
This draft is based on general Infor CloudSuite knowledge. It has not been verified against your specific version and environment. Practitioners: verify the steps and share your experience below.