DuplicateRevenueItemInput

A single service line in the duplication payload.

Same shape as RevenueItemInput (the create-service body), with two differences: contract_id is optional and ignored — the server assigns the new contract's id — and custom_field_values carries the revenue-item-level custom column values (rifd- fields) so they survive the re-create. Without that map, custom values would be silently dropped even on unmodified lines, because the duplicate re-creates each item from the payload rather than copying the source row server-side. Service dates arrive final from the client (any shift-dates edits already applied); the server persists them as-is.

  • Auto renewal flag

  • Billing end date

  • Billing start date

  • Ignored on duplicate — the server assigns the new contract's id

  • Custom billing frequency

  • Custom duration

  • Revenue-item custom field values, keyed by field id (rifd-...)

    Properties: 1
  • Custom opt out date

  • Custom service duration

  • Deal ID — auto-populated from the parent contract on create; any client-supplied value is ignored

  • Discount amount

  • Equal payments billing frequency

  • Equal payments number of payments

  • Is discount percentage flag

  • Display order index (0-based)

  • Price per unit in the contract's local currency — negative on a discount or credit line

  • Quantity — fractional allowed, negative for a downsell

  • Scheduled payments for this revenue item

    Properties: 4
  • Service end date

  • Service item ID

  • Service item name

  • Service item pricing ID

  • Service start date

  • Total amount — negative on a downsell line

  • Total amount in local currency — negative on a downsell line