Download OpenAPI specification:Download
NMFTA is on a journey with logistical and banking institutions to transform the electronic transfer of invoice data and supporting documents through an open-source API. Systems across the economic landscape will leverage this information to bring speed through data availability. Today, EDI and digital document uploads across numerous company specific applications are required for doing business within the logistical sector. Ultimately, this work will include managing a corpus of electronic data values and document file type returns with the focus on the transfer of the Invoice and supporting documents supporting all logistical types.
Part of the journey is to build an open API to ensure all logistical and banking partners to reach a level of automation that scales with the business demand. With adoption of the FTL council, medium- and long-term value will be achieved for all parties across the economic markets and transportation providers. Teams from DSDC (Digital Standards Development Council) and support from the LTL council have come together for a collective goal to achieve business value for all.
Multiple sources and various technology implementations have created an endless landscape for shippers, carriers, and banking institutions that continue to empower antiquated physical documentation or outgrown EDI processes. APIs do not currently have all consistent components to fully operationalize document data transfers and document type dissemination, especially in the areas of "invoice data values", "bill of lading" and "freight bills"
The Invoice and Documents API will allow for the ability to seamlessly pass specific invoice and related shipment information regardless of transport type to obtain or pass an invoice or related documentation. This will transform the logistics industry by simplification of complex billing processes through accuracy and timeliness in one place will be paramount for all shipments. With a design to handle all complexities for any shipment, a simplified standard source will meet all business needs quickly while providing companies with the needed forecasting for growth.
Providing the ability to pass and create an invoice through details to a Shipper or 3rd Party through standard shipment details. Additional documentation will also be able to be passed for additional proof of payment through supporting document types through shipment criteria. The ease will allow for Carriers to ensure that they avoid being cornered within the market.
Receiving Carrier invoices and supplemental documentation for payment will allow for central standard empowering timely and accurate validation of services while providing the ability to eliminate slower physical or open-source transfers.
Ensuring no delay in data validation or accuracy in supplying the appropriate information to support Invoice and supporting documentation for all parties
The Product Requirements Document (PRD) for this API can be found here.
As a Carrier, I want to Create an Invoice and send shipment information for a particular Shipper or 3rd Party.
| uniqueID required | string Unique identifier for the invoice. |
| shipmentID required | string Unique identifier for the shipment associated with the invoice. |
| DOT required | string Department of Transportation identifier |
| MC required | string Motor Carrier Identifier |
required | object (InvoiceHeader) Header fields for an invoice including consignor, consignee, billing party, terms, and invoice details. |
required | Array of Charge (object) or Item Charge (object) or Handling Unit Charge (object) (InvoiceCharges) List of all charges on the invoice. |
Array of objects (Attribute) List of attributes associated with the invoice. | |
Array of objects (Comment) List of comments associated with the invoice. |
{- "uniqueID": "string",
- "shipmentID": "string",
- "DOT": "string",
- "MC": "string",
- "invoiceHeader": {
- "consignor": {
- "consignorName": "string",
- "address": {
- "streetAddress": "615 J B Hunt Corporate Dr",
- "adminArea1": "AR",
- "adminArea2": "Benton",
- "locality": "Lowell",
- "neighborhood": "string",
- "postalCode": "72745",
- "postalExt": "1234",
- "countryCode": "USA",
- "locationCode": "ABC123"
}
}, - "consignee": {
- "consigneeID": "string",
- "consigneeName": "string",
- "address": {
- "streetAddress": "615 J B Hunt Corporate Dr",
- "adminArea1": "AR",
- "adminArea2": "Benton",
- "locality": "Lowell",
- "neighborhood": "string",
- "postalCode": "72745",
- "postalExt": "1234",
- "countryCode": "USA",
- "locationCode": "ABC123"
}
}, - "billingParty": {
- "billingPartyName": "string",
- "address": {
- "streetAddress": "615 J B Hunt Corporate Dr",
- "adminArea1": "AR",
- "adminArea2": "Benton",
- "locality": "Lowell",
- "neighborhood": "string",
- "postalCode": "72745",
- "postalExt": "1234",
- "countryCode": "USA",
- "locationCode": "ABC123"
}
}, - "terms": {
- "billingTerms": "Prepaid",
- "paymentTerms": "Net 30",
- "paymentDueDate": "2024-11-20",
- "cancellationPolicy": "No cancellations after 30 days",
- "disputeResolution": "All disputes must be resolved within 60 days"
}, - "invoiceNumber": "string",
- "invoiceDate": "2019-08-24",
- "invoiceAmount": {
- "currencyCode": "USD",
- "value": "10.00"
}
}, - "invoiceCharges": [
- {
- "accountCode": "01",
- "chargeType": "BASE_CHARGE",
- "chargeDescription": "string",
- "specialInstructions": "Handle with care.",
- "hazmat": "HAZ.",
- "stopNumber": "1",
- "cost": {
- "currencyCode": "USD",
- "value": "10.00"
}, - "quantity": {
- "unitOfMeasure": "MINUTES",
- "value": 61
}, - "comments": [
- {
- "id": 123456,
- "commentText": "This is a sample comment."
}
], - "chargeAuthorizerDetails": {
- "authorizerTitle": "Mr",
- "authorizerName": "John Doe",
- "authorizerFirstName": "John",
- "authorizerMiddleInitial": "M",
- "authorizerLastName": "Doe",
- "authorizerNumber": "BATCH123",
- "phoneNumber": "555-555-5555",
- "email": "john.doe@jbhunt.com"
}, - "chargeCode": "LINEHAUL",
- "chargeUnitCode": "FLAT",
- "chargeDiscount": {
- "discountTypeCode": "UNDISCOUNTED",
- "discountValue": 0
}
}
], - "attributes": [
- {
- "id": 123456,
- "type": "requestNumber",
- "value": "533P5WL"
}
], - "comments": [
- {
- "id": 123456,
- "commentText": "This is a sample comment."
}
]
}{- "message": "Invoice created successfully"
}As a Carrier, I want to list all Invoices.
| uniqueID | string Unique identifier for the invoice. |
| shipmentID | string Unique identifier for the shipment associated with the invoice. |
| DOT | string Department of Transportation identifier |
| MC | string Motor Carrier Identifier |
| invoiceNumber | string Invoice number to filter the invoice. |
[- {
- "uniqueID": "string",
- "shipmentID": "string",
- "DOT": "string",
- "MC": "string",
- "invoiceHeader": {
- "consignor": {
- "consignorName": "string",
- "address": {
- "streetAddress": "615 J B Hunt Corporate Dr",
- "adminArea1": "AR",
- "adminArea2": "Benton",
- "locality": "Lowell",
- "neighborhood": "string",
- "postalCode": "72745",
- "postalExt": "1234",
- "countryCode": "USA",
- "locationCode": "ABC123"
}
}, - "consignee": {
- "consigneeID": "string",
- "consigneeName": "string",
- "address": {
- "streetAddress": "615 J B Hunt Corporate Dr",
- "adminArea1": "AR",
- "adminArea2": "Benton",
- "locality": "Lowell",
- "neighborhood": "string",
- "postalCode": "72745",
- "postalExt": "1234",
- "countryCode": "USA",
- "locationCode": "ABC123"
}
}, - "billingParty": {
- "billingPartyName": "string",
- "address": {
- "streetAddress": "615 J B Hunt Corporate Dr",
- "adminArea1": "AR",
- "adminArea2": "Benton",
- "locality": "Lowell",
- "neighborhood": "string",
- "postalCode": "72745",
- "postalExt": "1234",
- "countryCode": "USA",
- "locationCode": "ABC123"
}
}, - "terms": {
- "billingTerms": "Prepaid",
- "paymentTerms": "Net 30",
- "paymentDueDate": "2024-11-20",
- "cancellationPolicy": "No cancellations after 30 days",
- "disputeResolution": "All disputes must be resolved within 60 days"
}, - "invoiceNumber": "string",
- "invoiceDate": "2019-08-24",
- "invoiceAmount": {
- "currencyCode": "USD",
- "value": "10.00"
}
}, - "invoiceCharges": [
- {
- "accountCode": "01",
- "chargeType": "BASE_CHARGE",
- "chargeDescription": "string",
- "specialInstructions": "Handle with care.",
- "hazmat": "HAZ.",
- "stopNumber": "1",
- "cost": {
- "currencyCode": "USD",
- "value": "10.00"
}, - "quantity": {
- "unitOfMeasure": "MINUTES",
- "value": 61
}, - "comments": [
- {
- "id": 123456,
- "commentText": "This is a sample comment."
}
], - "chargeAuthorizerDetails": {
- "authorizerTitle": "Mr",
- "authorizerName": "John Doe",
- "authorizerFirstName": "John",
- "authorizerMiddleInitial": "M",
- "authorizerLastName": "Doe",
- "authorizerNumber": "BATCH123",
- "phoneNumber": "555-555-5555",
- "email": "john.doe@jbhunt.com"
}, - "chargeCode": "LINEHAUL",
- "chargeUnitCode": "FLAT",
- "chargeDiscount": {
- "discountTypeCode": "UNDISCOUNTED",
- "discountValue": 0
}
}
], - "attributes": [
- {
- "id": 123456,
- "type": "requestNumber",
- "value": "533P5WL"
}
], - "comments": [
- {
- "id": 123456,
- "commentText": "This is a sample comment."
}
]
}
]As a Carrier, I want to retrieve an Invoice by its unique identifier.
| uniqueID required | string Unique identifier for the invoice to update. |
{- "uniqueID": "string",
- "shipmentID": "string",
- "DOT": "string",
- "MC": "string",
- "invoiceHeader": {
- "consignor": {
- "consignorName": "string",
- "address": {
- "streetAddress": "615 J B Hunt Corporate Dr",
- "adminArea1": "AR",
- "adminArea2": "Benton",
- "locality": "Lowell",
- "neighborhood": "string",
- "postalCode": "72745",
- "postalExt": "1234",
- "countryCode": "USA",
- "locationCode": "ABC123"
}
}, - "consignee": {
- "consigneeID": "string",
- "consigneeName": "string",
- "address": {
- "streetAddress": "615 J B Hunt Corporate Dr",
- "adminArea1": "AR",
- "adminArea2": "Benton",
- "locality": "Lowell",
- "neighborhood": "string",
- "postalCode": "72745",
- "postalExt": "1234",
- "countryCode": "USA",
- "locationCode": "ABC123"
}
}, - "billingParty": {
- "billingPartyName": "string",
- "address": {
- "streetAddress": "615 J B Hunt Corporate Dr",
- "adminArea1": "AR",
- "adminArea2": "Benton",
- "locality": "Lowell",
- "neighborhood": "string",
- "postalCode": "72745",
- "postalExt": "1234",
- "countryCode": "USA",
- "locationCode": "ABC123"
}
}, - "terms": {
- "billingTerms": "Prepaid",
- "paymentTerms": "Net 30",
- "paymentDueDate": "2024-11-20",
- "cancellationPolicy": "No cancellations after 30 days",
- "disputeResolution": "All disputes must be resolved within 60 days"
}, - "invoiceNumber": "string",
- "invoiceDate": "2019-08-24",
- "invoiceAmount": {
- "currencyCode": "USD",
- "value": "10.00"
}
}, - "invoiceCharges": [
- {
- "accountCode": "01",
- "chargeType": "BASE_CHARGE",
- "chargeDescription": "string",
- "specialInstructions": "Handle with care.",
- "hazmat": "HAZ.",
- "stopNumber": "1",
- "cost": {
- "currencyCode": "USD",
- "value": "10.00"
}, - "quantity": {
- "unitOfMeasure": "MINUTES",
- "value": 61
}, - "comments": [
- {
- "id": 123456,
- "commentText": "This is a sample comment."
}
], - "chargeAuthorizerDetails": {
- "authorizerTitle": "Mr",
- "authorizerName": "John Doe",
- "authorizerFirstName": "John",
- "authorizerMiddleInitial": "M",
- "authorizerLastName": "Doe",
- "authorizerNumber": "BATCH123",
- "phoneNumber": "555-555-5555",
- "email": "john.doe@jbhunt.com"
}, - "chargeCode": "LINEHAUL",
- "chargeUnitCode": "FLAT",
- "chargeDiscount": {
- "discountTypeCode": "UNDISCOUNTED",
- "discountValue": 0
}
}
], - "attributes": [
- {
- "id": 123456,
- "type": "requestNumber",
- "value": "533P5WL"
}
], - "comments": [
- {
- "id": 123456,
- "commentText": "This is a sample comment."
}
]
}Fully replaces an existing invoice with the provided data.
| uniqueID required | string Unique identifier for the invoice to update. |
Array of objects (Comment) Optional comments related to the invoice. |
| uniqueID required | string Unique identifier for the invoice. |
| shipmentID required | string Unique identifier for the shipment associated with the invoice. |
| DOT required | string Department of Transportation identifier |
| MC required | string Motor Carrier Identifier |
required | object (InvoiceHeader) Header fields for an invoice including consignor, consignee, billing party, terms, and invoice details. |
required | Array of Charge (object) or Item Charge (object) or Handling Unit Charge (object) (InvoiceCharges) List of all charges on the invoice. |
Array of objects (Attribute) List of attributes associated with the invoice. | |
Array of objects (Comment) List of comments associated with the invoice. |
{- "uniqueID": "string",
- "shipmentID": "string",
- "DOT": "string",
- "MC": "string",
- "invoiceHeader": {
- "consignor": {
- "consignorName": "string",
- "address": {
- "streetAddress": "615 J B Hunt Corporate Dr",
- "adminArea1": "AR",
- "adminArea2": "Benton",
- "locality": "Lowell",
- "neighborhood": "string",
- "postalCode": "72745",
- "postalExt": "1234",
- "countryCode": "USA",
- "locationCode": "ABC123"
}
}, - "consignee": {
- "consigneeID": "string",
- "consigneeName": "string",
- "address": {
- "streetAddress": "615 J B Hunt Corporate Dr",
- "adminArea1": "AR",
- "adminArea2": "Benton",
- "locality": "Lowell",
- "neighborhood": "string",
- "postalCode": "72745",
- "postalExt": "1234",
- "countryCode": "USA",
- "locationCode": "ABC123"
}
}, - "billingParty": {
- "billingPartyName": "string",
- "address": {
- "streetAddress": "615 J B Hunt Corporate Dr",
- "adminArea1": "AR",
- "adminArea2": "Benton",
- "locality": "Lowell",
- "neighborhood": "string",
- "postalCode": "72745",
- "postalExt": "1234",
- "countryCode": "USA",
- "locationCode": "ABC123"
}
}, - "terms": {
- "billingTerms": "Prepaid",
- "paymentTerms": "Net 30",
- "paymentDueDate": "2024-11-20",
- "cancellationPolicy": "No cancellations after 30 days",
- "disputeResolution": "All disputes must be resolved within 60 days"
}, - "invoiceNumber": "string",
- "invoiceDate": "2019-08-24",
- "invoiceAmount": {
- "currencyCode": "USD",
- "value": "10.00"
}
}, - "invoiceCharges": [
- {
- "accountCode": "01",
- "chargeType": "BASE_CHARGE",
- "chargeDescription": "string",
- "specialInstructions": "Handle with care.",
- "hazmat": "HAZ.",
- "stopNumber": "1",
- "cost": {
- "currencyCode": "USD",
- "value": "10.00"
}, - "quantity": {
- "unitOfMeasure": "MINUTES",
- "value": 61
}, - "comments": [
- {
- "id": 123456,
- "commentText": "This is a sample comment."
}
], - "chargeAuthorizerDetails": {
- "authorizerTitle": "Mr",
- "authorizerName": "John Doe",
- "authorizerFirstName": "John",
- "authorizerMiddleInitial": "M",
- "authorizerLastName": "Doe",
- "authorizerNumber": "BATCH123",
- "phoneNumber": "555-555-5555",
- "email": "john.doe@jbhunt.com"
}, - "chargeCode": "LINEHAUL",
- "chargeUnitCode": "FLAT",
- "chargeDiscount": {
- "discountTypeCode": "UNDISCOUNTED",
- "discountValue": 0
}
}
], - "attributes": [
- {
- "id": 123456,
- "type": "requestNumber",
- "value": "533P5WL"
}
], - "comments": [
- {
- "id": 123456,
- "commentText": "This is a sample comment."
}
]
}{- "message": "Invoice created successfully"
}Deletes an existing invoice by its unique identifier.
| uniqueID required | string Unique identifier for the invoice to delete. |
object (Comment) Optional comments related to the invoice deletion. |
{- "message": "Invoice created successfully"
}As a Carrier, I want to upload supporting documents for an invoice.
| uniqueID required | string |
| shipmentID required | string |
| DOT required | string |
| MC required | string |
| invoiceNumber required | string |
| invoiceDate required | string <date> |
| documentSource | string |
Array of objects (Attribute) | |
Array of objects (Comment) | |
required | Array of objects |
{- "uniqueID": "string",
- "shipmentID": "string",
- "DOT": "string",
- "MC": "string",
- "invoiceNumber": "string",
- "invoiceDate": "2019-08-24",
- "documentSource": "string",
- "attributes": [
- {
- "id": 123456,
- "type": "requestNumber",
- "value": "533P5WL"
}
], - "comments": [
- {
- "id": 123456,
- "commentText": "This is a sample comment."
}
], - "documents": [
- {
- "documentType": "BOL",
- "files": [
- "string"
]
}
]
}{- "message": "Invoice created successfully"
}As a Carrier, I want to list all supporting documents for invoices.
| invoiceNumber | string Invoice number to filter the documents. |
| DOT | string Department of Transportation identifier. |
| MC | string Motor Carrier Identifier. |
Array of "BOL" (string) or "CAT" (string) or "COMM" (string) or "CON" (string) or "RULE" (string) or "DIM" (string) or "DTR" (string) or "DIS" (string) or "FRB" (string) or "FUEL" (string) or "INV" (string) or "INSP" (string) or "LOA" (string) or "LPR" (string) or "MSDS" (string) or "PAC" (string) or "IMG" (string) or "POD" (string) or "QUO" (string) or "RESI" (string) or "SPEC" (string) or "SCL" (string) or "STB" (string) or "W&I" (string) or "OTHER" (string) (Document Type) Example: documentType=BOL One or more document types to be retrieved (e.g., Invoice, BOL). |
[- {
- "uniqueID": "string",
- "shipmentID": "string",
- "DOT": "string",
- "MC": "string",
- "invoiceNumber": "string",
- "invoiceDate": "2019-08-24",
- "documentSource": "string",
- "attributes": [
- {
- "id": 123456,
- "type": "requestNumber",
- "value": "533P5WL"
}
], - "comments": [
- {
- "id": 123456,
- "commentText": "This is a sample comment."
}
], - "documents": [
- {
- "documentType": "BOL",
- "files": [
- {
- "id": "file-12345",
- "content": "string"
}
]
}
]
}
]As a Carrier, I want to retrieve supporting documents for an invoice by its Invoice Number.
| invoiceNumber required | string Invoice number to filter the documents. |
{- "uniqueID": "string",
- "shipmentID": "string",
- "DOT": "string",
- "MC": "string",
- "invoiceNumber": "string",
- "invoiceDate": "2019-08-24",
- "documentSource": "string",
- "attributes": [
- {
- "id": 123456,
- "type": "requestNumber",
- "value": "533P5WL"
}
], - "comments": [
- {
- "id": 123456,
- "commentText": "This is a sample comment."
}
], - "documents": [
- {
- "documentType": "BOL",
- "files": [
- {
- "id": "file-12345",
- "content": "string"
}
]
}
]
}Delete all supporting documents for an invoice, or specific files within the documents.
| invoiceNumber required | string Invoice number to identify the documents. |
| fileIds | Array of strings List of file IDs to delete. If omitted, all documents for the invoice will be deleted. |
object (Comment) Optional comments related to the document deletion. |
{- "message": "Invoice created successfully"
}