> ## Documentation Index
> Fetch the complete documentation index at: https://docs.slm.m1amdocs.com/llms.txt
> Use this file to discover all available pages before exploring further.

# MigrationTransaction Subobject

Defines a `Transaction` migrated to Subscribe from a different billing system.

| Data Members | Data Type | Description |
| - | - | - |
| `account` | `Account` | The `Account` associated with this `Transaction`. If this `migrationTransaction` is included in an `AutoBil` migration request, the Account on the `AutoBil` will be used instead of this field. When calling `AutoBill.migrate`, the `Account` on the `AutoBil` passed in will be associated with all of the `Transactions` created. When calling `Transaction.migrate`, the `Account` on the `MigrationTransaction` object will be used. In both cases, you may create `Accounts` on the fly by passing in an `Account` that does not yet exist in Subscribe. |
| `amount` | decimal | **Required.** The amount of the transaction, as a decimal. Must be non-negative, and add up to the total value of the all the associated `TransactionItems`. |
| `autoBillCycle` | int | **Required.** The billing sequence number for the Transaction within the life of the AutoBill. **Note:** The first Subscribe billing = 0.) |
| `billingDate` | dateTime | **Required.** The AutoBill’s Billing Plan Period start date/time associated with the Transaction. |
| `billingPlanCycle` | int | **Required.** The billing sequence for the Transaction within the specified Billing Plan. |
| `currency` | string | **Required.** The ISO 4217 currency code used for this Transaction. Defaults to USD if not specified. |
| `divisionNumber` | string | The division or group with which this Transaction should be associated with your payment processor. Chase Paymentech refers to this number as the Division Number; Litle calls it the Report Group; MeS calls it the Profile ID. If you provide a value for `divisionNumber` when migrating a Transaction into Subscribe, this value will be set on that imported Transaction, and used in all subsequent activities, such as refunds. If you do not provide a `divisionNumber`, Subscribe uses the global default. (See also `vin:OriginalDivisionNumber` in the Subscribe Programming Guide, Working with Name-Value Pairs.) |
| `merchantAffiliateId` | string | **Optional.** Your ID (a free-form string of 128 characters or less) for the affiliate that submitted this `Transaction` object, if any. |
| `merchantAffiliate SubId` | string | **Optional.** Your ID (a free-form string of 128 characters or less) for the sub-affiliate that submitted this `Transaction` object, if any. |
| `merchantBilling PlanId` | string | **Required.** Your unique identifier for the `BillingPlan` associated with this Transaction. The BillingPlan must exist within Subscribe prior to migrating Transactions that reference it. This field is required for Transactions included in an `AutoBill.migrate` request. For more information, see [The BillingPlan Object](The_BillingPlan_Object). |
| `merchantTransactionId` | string | **Optional.** Your unique identifier for the Transaction (a free-form string of 128 characters or less, with no validation) . If not specified, this field will be populated by Subscribe. In order to support Chargebacks, the `merchantTransactionId` attribute must be the merchant transaction ID that you submitted to your payment processor when requesting the charge. Chargeback processing uses this value to match the transactions. **Note:** For PayPal transactions, this value must be the INVNUM or INVOICEID field sent to PayPal for the transaction. |
| `migrationTransaction Items` | `MigrationTransactionItem` | **Required.** An array of `MigrationTransactionItems` included with the `Transaction`. For more information, see the [MigrationTransactionItem Subobject](MigrationTransactionItem). |
| `nameValues` | `NameValuePair` | An optional array of name-value pairs you wish to associate with the Transaction. `Transactions` generated as a result of the `AutoBill.modify` call will include a name-value pair with name `vin:type` and value `modify`. See [The NameValuePair Object](The_NameValuePair_Object). |
| `paymentMethod` | `PaymentMethod` | **Required.** The Payment Method (e.g., a credit card) used for this Transaction. |
| `paymentProcessor` | string | The payment processor for this Transaction. Possible values include FDMS, GlobalCollect, Litle, MeS, Orbital, PayFlowPro, PayPal, Paymentech, and Other. If the Payment Processor is not supported by Subscribe, the `migrationTransaction` will be imported, but other actions (such as refunds) will not be supported. If a value is not provided for this field, then Subscribe will attempt to deduce the Payment Processor from your routing rules. |
| `paymentProcessor TransactionId` | string | The identifier assigned to this Transaction by your Payment Processor. In order to support matched Refunds of migrated transactions, the `paymentProcessorTransactionId` attribute must be the processor transaction ID of the `Captured` transaction from your payment processor. (See Importing Transactions from other Billing Systems to Subscribe, in the Subscribe Programming Guide. |
| `preferredNotification Language` | string | **Optional.** The language (specified as an ISO language string) for Subscribe to use in email notifications for this Transaction. This value overrides any language setting in the `Account` object for this transaction. |
| `retryNumber` | integer | **Optional.** 0-based index indicating the billing attempt for a given Billing Period. For example, if this is the first billing attempt for a given Billing Period, the value will be 0. If the first billing attempt fails, and a second Transaction is attempted for the same Billing Period, the value will be 1. If the `migrationTransaction` is included in an `AutoBill.migrate`request, but `retryNumber` is not specified, this field will default to 0. |
| `salesTaxAddress` | `Address` | The address used to calculate sales tax on this transaction. This field should be included if you include taxes in the Transaction. |
| `shippingAddress` | `Address` | **Optional.** The shipping address for this `Transaction` object. **Note:** While optional, this field is useful in resolving chargebacks. See [Address Data Members](Address_Data_Members). |
| `sourceIp` | string | **Optional.** The IP address (in standard dotted-quad form) of the machine from which the customer requested the creation of this `Transaction`. This attribute is required if you wish to score the Transaction for risk screening. Some payment methods, such as European Direct Debit, also require this attribute. |
| `statusLog` | `TransactionStatus` | **Required.** A log of `TransactionStatus` entries (with accurate time stamps) associated with this Transaction. At least one `TransactionStatus` object with a time stamp and status set to `Cancelled`, `Captured` or `Settled` must be included with every `AutoBill.migrate` call. For CreditCard and ECP `PaymentMethod` objects, enter the `avsCode` and `cvnCode` to help the Subscribe Chargeback team fight Chargebacks. See the [TransactionStatus Subobject](TransactionStatus_Subobj). |
| `taxExemptions` | `TaxExemption` | An array of Exemptions that apply to this Transaction. Multiple tax exemptions may be defined. See the [TaxExemption Subobject](TaxExemption_Subobject). |
| `taxInclusive` | Boolean | A Boolean flag which defines whether the price listed for the Transaction is inclusive or exclusive of tax. If `true`, Subscribe treats the `MigrationTransactionItem` price value as inclusive of the tax amount(s) when calculating the total cost of the Transaction. If `false`, Subscribe adds the tax amount(s) to the `MigrationTransactionItem` `price` value when calculating the total cost of the Transaction. |
| `type` | `MigrationTransactionType` | The Transaction type: credit, recurring or non-recurring. For `MigrationTransactions` included in an `AutoBill.Migrate` request this will default to `Recurring`. For `MigrationTransactions` included in a `Transaction.Migrate` request, this value will default to `NonRecurring`. |
| `verificationCode` | string | The response from your verification system for this transaction (for example: Verified by Visa (VbV) or MasterCard SecureCode). Populate this field with your most recent payment verification information. |
| **Parent topic:**[Transaction Subobjects](../topics/Transaction_Subobjects) | | |


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.