A conversion definition is the setup record that declares one bulk document conversion, for example order to invoice, for the Bulk Conversion screen and its conversion batches. It names the source document and its lines, the document created, the source-line quantity that is consumed and the pool it is reserved in, the server actions that stage a batch and convert each record, how failures are contained, and what the screen shows. A conversion exists only while an active, complete definition exists for it; there is no built-in fallback. Definitions are tenant setup data, none are seeded, and they are kept in the Sales app under Settings, Conversions. On a new definition, choosing the source entity and the record action fills every other blank field that the action implies; values already entered are never replaced.
Fields
| Field | Label | Type | Required | What it does |
|---|---|---|---|---|
BatchActionName | Batch Action Name | Text | Yes | The server action on the source entity that stages a batch. A definition naming an action makes that action batch-based. Picked from the source entity's server actions; on a new definition it defaults to the record action. |
Category | Category | Text | Free-text grouping, for example Sales or Procurement. Conversions are listed in category order; it has no effect on how a conversion runs. | |
CreatedById | Created By | Lookup → UserAccount | Yes | |
CreatedDateTime | Created On | DateAndTime | Yes | |
DefaultChunkSize | Chunk Size | Number | Lines per execution transaction, copied to each batch when it is staged. Default 50. A chunk always takes whole records, so a record with more lines than this is still processed in one chunk. | |
DefaultMaxAttempts | Max Attempts | Number | Whole-batch attempts a batch gets before it stays Failed, copied to each batch when it is staged. Default 3. | |
DefaultMaxLineAttempts | Max Line Attempts | Number | Attempts each batch line gets for unexpected errors before it is parked as Failed, copied to each batch when it is staged. Default 3. A parked line releases its reservation. | |
Description | Description | LongMultiLineText | Explanatory text shown under the Bulk Conversion screen title. | |
FailureIsolation | Failure Isolation | Text | How much one failing record takes down with it. ChunkThenRecord (default): run the chunk in one transaction and, if it fails, re-run it one record at a time so only the bad record fails. Record: one transaction per record. Chunk: all or nothing per chunk. A record refused by validation fails on its own in every mode. | |
Id | Id | Guid | Yes | |
IsActive | Active | Boolean | Switches the conversion on or off. An inactive definition is ignored entirely: the screen shows Conversion not available, new submissions fail, and existing batches for the key can no longer run or be retried until it is reactivated. | |
Label | Display Name | Text | Yes | The name users see on the Bulk Conversion screen and on batches. Left blank on a new definition, it is suggested from the source and target, for example Order → Invoice. |
LegacyActionNames | Legacy Action Names | LongMultiLineText | Not stored and not used. | |
LineFields | Line Fields | LongMultiLineText | The line fields shown as columns on the screen's lines tab, picked from the line entity's fields. Every Selection Field must also be listed here to have a column to edit. | |
ListFields | List Fields | LongMultiLineText | The source-document fields shown as columns on the screen's records tab, picked from the source entity's fields. Display only. | |
ModifiedById | Modified By | Lookup → UserAccount | Yes | |
Name | Name | Text | Yes | The conversion key, a stable identifier such as sales.order-to-invoice. Screens and batches refer to the conversion by this key and look it up again when a batch runs or is retried, so renaming it stops existing batches from running or being retried. Left blank on a new definition, it is suggested from the source and target, for example order-to-invoice. |
OptionsJson | Options (JSON) | LongMultiLineText | The options users choose on the Bulk Conversion screen and that are passed to the action, edited as a table of Name, Label, Kind (Text, Boolean, Number or Choice), Choices and Default. On a new definition, options the action reads are filled in. Malformed content is ignored rather than refused. | |
OwnerId | Owner | Lookup → UserAccount | Yes | |
PendingQuantityField | Pending Quantity Field | Text | Yes | The numeric field on the source line holding the quantity still to convert, for example the pending invoice quantity on an order line. Available quantity is this value minus what open batch lines in the same pool already hold; a line at zero or less is staged as Skipped. |
QuantityPool | Quantity Pool | Text | The name of the reservation pool the conversion holds quantity in. A batch cannot be staged without it. Conversions that consume the same pending-quantity field on the same line entity must share one pool name, or each sees the full quantity and the same units can be promised twice. Suggested as Source.Target, for example Order.Invoice, on a new definition. | |
RecordActionName | Record Action Name | Text | The server action on the source entity that converts one source record, for example the action that creates an invoice from an order. The batch runs it once per record with that record's staged lines. Picked from a list of the source entity's active server actions; on a new definition, choosing it fills every blank field the action implies. Without it staging works but every batch line fails. | |
RecordTypeId | Record Type | Guid, hidden | ||
ScopeFields | Scope Fields | LongMultiLineText | The filters the Bulk Conversion screen shows, in order, picked from the source entity's fields. Lookup fields become pickers and date fields become a date range. Blank uses the standard set of the fields the source entity has. Filters only narrow what is offered; they are not stored on the batch. | |
SelectionArgsKey | Selection Args Key | Text | Yes | The argument name that carries the picked lines to the conversion action, for example OrderLines. When the user picks individual lines the batch converts only those, at the quantities picked; otherwise every line with quantity available is converted. Both kinds of batch send their lines to the action under this name. |
SourceEntity | Source Entity | Text | Yes | The internal name of the document converted from, for example Order. Picked from a list of entities. Choosing it fills blank Scope Fields and List Fields with the standard fields the entity has and lets the action fields list that entity's server actions. |
SourceLineEntity | Source Line Entity | Text | Yes | The internal name of the source document's line entity, for example OrderLine. Filled from the line collection when left blank on a new definition. Choosing it fills a blank Pending Quantity Field and Line Fields from the line's fields. |
SourceLineNavigation | Source Line Navigation | Text | Yes | The exact name of the collection on the source document that holds its lines, for example OrderLines. Staging loads the lines through it, so it must be the internal property name, not a label. |
SourceLineParentField | Source Line Parent Field | Text | Yes | The field on the line that points back to its header, for example OrderId. Filled from the entity model when left blank on a new definition. |
SubscriptionKey | Subscription Key | Guid, hidden | Yes | |
TargetEntity | Target Entity | Text | Yes | The internal name of the document created, for example Invoice. A record whose action runs without error but creates no record of this entity has its lines marked Skipped. The automatic fill cannot always find it, for example when the action creates the document through another service; set it by hand then. |
TargetLineEntity | Target Line Entity | Text | The internal name of the created document's line entity, for example InvoiceLine. Optional; suggested from the target entity on a new definition. | |
UpdatedDateTime | Updated On | DateAndTime | Yes |
