Skip to main content

Royalty Management

The SDK provides invoice generation functionality to create mock invoice data for testing and development:

Invoice Generation Methods

  • invoices.generateMockInvoiceData(params): Generates mock invoice data with specified parameters
    • count: Number of invoices to generate per quarter
    • startYear: Starting year for the invoice data
    • quarters: Number of quarters to generate data for
    • assetPlatformId: Platform-specific asset identifier (e.g., Roblox asset ID)
The generated CSV data includes realistic invoice information that can be used for testing royalty registration and payment workflows. The SDK provides comprehensive royalty management functionality including registration, payment, and approval workflows:

Royalty Management Methods

  • royalties.register(params): Registers royalties from CSV invoice data
    • Imports CSV invoices into the database
    • Groups invoices by quarters and calculates total revenue
    • Generates signatures client-side using the Cultura SDK
    • Submits royalty registration with real invoice-based periods
  • royalties.payOffchain(params): Initiates off-chain royalty payments
    • coreProductIds: Array of product IDs to pay royalties for
  • royalties.acceptOffchain(inputs): Accepts off-chain royalty payments (licensor action)
    • inputs: Array of acceptance inputs with product IDs and period ranges
  • royalties.denyOffchain(inputs): Denies off-chain royalty payments (licensor action)
    • inputs: Array of denial inputs with product IDs and period ranges

Royalty Workflow

  1. Invoice Generation: Generate or prepare CSV invoice data
  2. Royalty Registration: Register royalties using the CSV data and product IDs
  3. Payment Processing: Licensee initiates off-chain royalty payments
  4. Licensor Review: Licensor can accept or deny royalty payments for specific periods
  5. Job Monitoring: Use utils.pollJobStatus() to monitor all async operations