Triumph Pay provides an efficient solution for streamlining back-office carrier payment operations.
Table of Content
- Set up
- Payee Profile Sync
- Payee Relationships Sync
- Shipment Sync
- Invoice Sync (Carrier Bill)
- Invoice Draft Sync
- Carrier Sync Preferences
- Accounting Sync Exception
- Triumph Pay Bill Trigger
- Marketplace and 3PL Shipments Support
Set up
There needs to be a setup on the Triumph Pay Side. They will contact us once this is done so we can proceed with the integration in Tai.
- A username and password are required for the integration source.
- Use integration source parameter "testing" must = "true" to hit their test server.
- Select the LSP Organization that will be used with Triumph Pay.
- Quick Pay - Triumph Pay should provide the customer's Quick Pay terms that they will be using in Triumph Pay. These should be added as a source setting within the integration (Ex. QuickPayTerms = TQP).
If none are specified, we will pass in "SDQP" (Same Day Quick Pay) by default on all applicable QuickPay bills. - If you will sync bill payments to QuickBooks, add the source setting "AccountName," In the value, add the bank's name exactly as you have it in GL Accounts in Accounting Sync.
Note: This will work with just one bank; currently, we can only register bill payments under one account.
Payee Profile (Our Carrier Sync to Them)
The Payee Profile sync is an automated job that runs once every 15 minutes. The job looks specifically at the modified date of the broker carrier. Any carriers modified after a specific date will be sent to their API.
We send Triumph Pay an External Payee Key (our broker carrier id), company name, mc number, dot number, and address information. We also send over primary contact information, prioritized by broker carrier contacts that are favorited on our end.
Finally, we send over remit address information which can either be based on the factoring organization address information; if it exists; otherwise, it will default to the carrier's remit payment address information.
This job will create a LastPayeeProfileSyncDate, an integration source parameter that automatically gets updated anytime this job is run. The value entered is the date that the modified date looks at to determine the most recent carriers to send over.
Payee Relationships (Their Carrier Sync to Us)
The Payee Relationships sync is an automated job that runs once a day after business hours. This particular job runs at 6 PM PST. The job will pull in all carriers modified on Triumph Pay's end within the last day.
The carrier data received from Triumph Pay is only relevant if the remit address information that Triumph Pay has is different from the remit address information stored in the TMS (LSP Broker Carriers). Specifically, we will pull in the bank address information and keep it in our remit payment address information on the broker carrier field.
This job will create a LastPayeeRelationshipSyncDate saved as an integration source parameter that automatically gets updated anytime the job runs.
Shipment Sync
Shipment data will be synchronized to Triumph Pay anytime a shipment status is updated and the shipment statuses are within (inclusive of) READY and DELIVERED. A shipment activity log will be saved indicating, "Load information sent over to Triumph Pay." If there is an error from Triumph Pay, we will display "Error sending load information to Triumph Pay." The error from Triumph Pay will be added to the shipment activity log entry.
Shipment Sync Data Elements:
- ExternalLoadKey = Shipment Id
- ExternalPayeeKey = Broker Carrier Id
- LoadStatusId = Quoted -> Pending. Booked/Ready/Sent -> Booked, Dispatched/InTransit/OutForDelivery -> InTransit, Delivered/Default -> Delivered
- ReferenceNO = Shipment Id
- PickupDate = First Pick: Actual Arrival Date Time if it has a value, otherwise Scheduled
- Ready Date Time
- OriginName = First Pick: CompanyName
- OriginAddress1 = First Pick: Address.StreetAddress
- OriginAddress2 = First Pick: Address.StreetAddressTwo
- OriginCity = First Pick: Address.City
- OriginState = First Pick: Address.State
- OriginPostalCode = First Pick: Address.ZipCode
- OriginCountry = First Pick: Address.Country
- DeliveryDate = Last Drop: Actual Arrival Date Time if it has a value, otherwise, it will use the Scheduled Ready Date Time
- DestinationConsignee = Last Drop:CompanyName
- DestinationAddress1 = Last Drop:Address.StreetAddress
- DestinationAddress2 = Last Drop:Address.StreetAddressTwo
- DestinationCity = Last Drop:Address.City
- DestinationState = Last Drop:Address.State
- DestinationPostalCode = Last Drop:Address.ZipCode
- DestinationCountry = Last Drop:Address.Country
- Distance = Mileage
- DistanceUnits = Miles
- TotalWeight = Shipment Commodity Summed Total Weight
- WeightUnitTypeId = Lb or Kg (DEPENDS ON WEIGHT UNIT IN TMS)
- EquipmentType = Flatbed -> Flatbed, Reefer -> Reefer, Van -> DryVan, Default -> Other
- LoadDescription = Commodity Descriptions Comma Separated (ie Description1, Description2)
- LTLFlag = If Shipment Type IS LTL
- AssignedTrailerNumber = Shipment Reference Number Trailer Number
- LineItems = Buy from Linehaul Pricing
Invoice Sync (Carrier Bill)
The carrier bill data will be synchronized to Triumph Pay during the Bill Approval process. An activity log will be generated on the shipment with "Bill information sent over to Triumph Pay." If there is an error from Triumph Pay, we will say, "Error sending bill information to Triumph Pay."
Invoice Sync Data Elements
- ExternalInvoiceKey = Bill Id
- ExternalLoadKey = Shipment Id
- ExternalPayeeKey = Broker Carrier Id
- InvoiceImportedStatusId = AvailableForPayment
- InvoiceNo = Bill Number
- ReferenceNo = Shipment Id
- GrossAmount = Bill TotalAmount
- PayorAdjustmentAmount = 0
- NetAmount = Bill TotalAmount
- DueDate = Bill Due Date (Not sent for QuickPay Bills)
- ApprovedDate = Bill Date
- LineItems = Bill Pricing Info
- Term = Value from QuickPayTerms Source Setting (Only sent for QuickPay Bills)
Quick Pay
Quick Pay bills are identified by the net terms within the carrier profile. The carrier must have "QuickPay" for us to mark these bills accordingly when sending them to Triumph Pay. We then use the configured Quick Pay terms from the integration when sending the bills to Triumph Pay.
In this process, we don't send a due date for these bills. Triumph Pay will age them based on the QuickPay term configured for the organization on their side.
Invoice Draft Sync
The Invoice Draft Sync is an automated job that runs once a day, at 6 PM PST. The job will pull in invoice drafts created in Triumph Pay within the last day. The invoice draft from Triumph Pay creates a Bill Payment in the TMS. When we receive the invoice draft, we generate the bill payment with a Check Memo "Triumph Pay Debit." The Check Ref is the invoice draft ID from Triumph Pay + the TMS broker carrier ID. The invoice draft ID can be used to reference back to Triumph Pay.
This job will create a LastInvoiceDraftSyncDate, which is an integration source parameter that automatically gets updated anytime the job runs.
Carrier Sync Preferences
Decide which carrier you want bills syncing over to triumph pay by adding True on the Ignore Triumph Pay Bill Sync Broker carrier parameter in the carrier profile.
Accounting Sync Exceptions
Shipments will be sent to Accounting Sync Exception under the Truckload Operations Dashboard whenever there is an issue in the syncing process. You will find more details about why the system could not sync the shipment in the activity log.
One error is when there is an attempt to approve a bill with only a factoring company but no carrier. Adding a factoring company without a carrier can be done from the shipment summary screen by scrolling down to Cost Calculation and clicking "Add Factoring Org" After it is added, the system will enable the option to approve a bill without the carrier. If you attempt to approve the bill this way, the system will flag the Accounting Sync Exception alert.
Triumph Pay Bill Trigger
We added a Triumph Pay Bill Trigger button under the Accounting tab in the shipment summary to manually attempt to resync shipments to Triumph Pay whenever there was a sync exception.
To see the button, the shipment must be in delivered status, have a bill approved, and a Triumph Pay integration must be linked to the organization.
If the resync is successful, we will automatically remove the Accounting Sync Exception alert.
Note: This will only apply to the original carrier bill. Bill revisions are not resent with this process. Revisions will have to be deleted and created to be sent again.
Staff Permissions
The staff member must have one of the following permissions to have the ability to resync shipments to Triumph Pay TMS Site Admin and Accounting AP Approve Bills.
Marketplace and 3PL Shipments Support
LTL Marketplace and 3PL shipments will be automatically forwarded to Triumph Pay for payment once the bill is approved in our TMS.
To exclude 3PL shipments from being sent to Triumph Pay, navigate to the carrier profile associated with the appropriate carrier (Priority 1, Global Tranz, etc.). Then, set the "Ignore Triumph Pay Bill Sync Broker Carrier Parameter" to True (case sensitive).
This will ensure that these specific shipments are not included in the sync process with Triumph Pay.
See the Carrier Sync Prefrence section in this article for more information.
There is no need for any additional configuration as the integration workflow will remain unchanged, and we will transmit the same shipment details to Triumph Pay for payment processing.