Skip to content
  • There are no suggestions because the search field is empty.

Invoice Specification

An Invoice document is used to provide all billing information related to an order that has been fulfilled. It will contain all line item pricing, payment terms and miscellaneous charges.

🗒️Note:

If you will not be integrating the invoice document, but it is required, Logicbroker offers an Auto-Invoice option to create invoices automatically off of the shipment document. The ShipmentNumber will be used as the Invoice number and all pricing information will automatically persist from the original order. To learn more contact us.

When receiving an invoice against your order, it will affect the status of that order. If all quantities on the order are invoiced the status of the order will automatically update to Complete (1000). It is important that the PartnerPO and all SupplierSKU data on the invoice matches the order otherwise the invoice will be non-compliant and will not transmit. 

The structure shown below in Field Descriptions follows Logicbroker's standard schema across all document formats; this includes JSON, EDI, XML, CSV, and Portal. The EDI segments are listed next to each field to indicate what field maps to the standard 810 EDI from the Logicbroker schema.

✨Tip:

If you are integrating via API and need the full model schema see our API Console.

Details and Sample Files
JSON
Download JSON Samples

 

Click the link above to download the samples. All fields listed below reflect the model schema for the Logicbroker standard JSON. For example the snippet below would match the field name ShipToAddress.CompanyName in the Field Descriptions below.

  "ShipToAddress": {
    "CompanyName": "Warehouse 123"
  }

If there is a field that is missing in the structure you can add custom fields as an extended attribute on the header level or item level; see example below. Note when a custom field is added, you will need to notify Logicbroker to ensure it is mapped to your partners.

    "ExtendedAttributes": [
    {
      "Name": "EXAMPLE",
      "Value": "Portal"
    },
    {
      "Name": "EXAMPLE2",
      "Value": "New Value"
    }
  ]

The value in the field descriptions documentation will show as ExtendedAttribute.EXAMPLE and for line items InvoiceLine.ExtendedAttribute.EXAMPLE.

🚚For Suppliers:

To learn more about how to integrate sending invoices using the JSON format see this link.

👥For Retailers:

To learn more about how to integrate receiving invoices from your partners using the JSON format see this link.

XML
Download XML Samples + XSD

 

Click the link above to download the samples and XSD. All fields listed below reflect the model schema for the Logicbroker standard XML. For example the snippet below would match the field name ShipToAddress.CompanyName in the Field Descriptions below.

  <ShipToAddress>
    <CompanyName>Merchant Co</CompanyName>
  </ShipToAddress>

If there is a field that is missing in the structure you can add custom fields as an extended attribute on the header level or item level; see example below. Note when a custom field is added, you will need to notify Logicbroker to ensure it is mapped to your partners.

  <ExtendedAttributes>
    <ExtendedAttribute>
      <Name>Example</Name>
      <Value>Portal</Value>
    </ExtendedAttribute>
    <ExtendedAttribute>
      <Name>Example2</Name>
      <Value>NewValue</Value>
    </ExtendedAttribute>
  </ExtendedAttributes>

The value in the field descriptions documentation will show as ExtendedAttribute.EXAMPLE and for line items InvoiceLine.ExtendedAttribute.EXAMPLE.

🚚For Suppliers:

To learn more about how to integrate sending invoices using the XML format see this link.

👥For Retailers:

To learn more about how to integrate receiving invoices from your partners using the XML format see this link.

EDI
Download EDI Specs and Samples

 

Click the link above to download the standard 810 specification and samples. All fields listed below reflect the model schema for the Logicbroker standard XML. For example the snippet below would match the EDI field name N102 (ST) - ShipToAddress.CompanyName in the Field Descriptions below. The value in the parenthesis (ST) will represent the qualifier in the previous element; in this case its N101.

N1*ST*Merchant Co~

For EDI fields in a loop, such as line items the will be identified by being separated with a ":" for example IT1:PID05 (08) would be represented below. "IT1:" indicates the element is under the IT1 loop. PID05 identifies the element value and again "(08)" within the parenthesis represents the related qualifier of "08" present in PID02. 

IT1*1*14*EA*9*PE*VN*1234567*IN*V-123123*UP*0123456789012
PID*F*08***Pants~
IT1*2*3*EA*4*PE*VN*1234568*IN*V-123124*UP*0123456789013
PID*F*08***Tee Shirt~

 

🚚For Suppliers:

To learn more about how to integrate sending invoices using the EDI format see this link.

👥For Retailers:

To learn more about how to integrate receiving invoices from your partners using the EDI format see this link.

CSV
Download CSV Samples

 

Click the link above to download the CSV samples. Note by default if you are retrieving shipments from Logicbroker's SFTP/FTP a simplified version will be provided, the sample will be annotated with EXPORT.

To receive the format as listed below in the Field Descriptions, please contact support@logicbroker.com. All fields listed below reflect the model schema for the Logicbroker standard API format. For example the snippet below would match the field name ShipToAddress.CompanyName in the Field Descriptions below.

Id,ShipToAddress.CompanyName
221804,Merchant Co

If there is a field that is missing in the structure you can add custom fields as an extended attribute on the header level or item level; see example below. Note when a custom field is added, you will need to notify Logicbroker to ensure it is mapped to your partners.

Id,ExtendedAttribute[Name=EXAMPLE].Value
221804,Portal

The value in the field descriptions documentation will show as ExtendedAttribute.EXAMPLE and for line items InvoiceLine.ExtendedAttributes.EXAMPLE

✨Tip:

When submitting or receiving a CSV invoice, each row will be split out for each line item. If you are submitting an invoice to Logicbroker for creation, the line items will get consolidated into one invoice if they share the same InvoiceNumber and PartnerPO.

🚚For Suppliers:

To learn more about how to integrate sending invoices using the CSV format see this link.

👥For Retailers:

To learn more about how to integrate receiving invoices from your partners using the CSV format see this link.

🗒️Note:

Logicbroker has the ability to create custom specifications for any format and file type. Please contact us and attach any samples of your custom format and we can quickly and easily implement it.

Handling fees and payment terms

If your agreement with the retailer allows a handling fee, add it to the invoice as a header-level charge. Some retailers call it a shipping or handling charge. The amount must match your retailer agreement. If you do not charge a handling fee, leave the field empty or enter 0.

  • Portal. Enter the fee in the Shipping/Freight field in the Invoice Totals section when you create the invoice. The portal adds it to the Invoice Total on the screen. Shipping/Freight and Dropship Fee are separate fields. Use Shipping/Freight for a handling fee unless your retailer's document standards say otherwise.
  • API, XML and CSV. Send the fee in HandlingAmount and include it in InvoiceTotal.
  • EDI 810. Send the fee in a header-level SAC segment. Put C (charge) in SAC01 and the charge code in SAC02. Put the amount in SAC05 with no decimal point, for example 500 for $5.00. Logicbroker's standard code is G821. Some retailers require a different code, such as D500 (Handling). Use the code in your retailer's 810 specification. Include the fee in the invoice total in TDS01.

If you charge the same flat handling fee on every invoice, contact support@logicbroker.com to ask whether Logicbroker can add it to your invoices automatically.

Payment terms, such as net days and discount terms, come from your agreement with the retailer. If you do not send some payment term fields, Logicbroker takes them from the original order. The PaymentTerm fields below show which ones. In the portal, Logicbroker fills in Payment Terms in the General Information section, and you cannot edit it. If the terms do not match your agreement, confirm the correct terms with your retailer. Then update your default terms in Settings > Document Settings > Payment terms, or contact support@logicbroker.com.

My handling fee is missing from the invoice

Who this applies to: suppliers who send invoices in the portal, by EDI 810, or through the API, XML or CSV. Whether you may charge a handling fee depends on your agreement with each retailer.

What it means: Logicbroker adds a handling fee only when the invoice carries it in the handling field for your format. A fee entered in another field, or not sent at all, does not reach the retailer as a handling fee.

What to check:

  1. Open the invoice and look at the Invoice Totals section. Check whether the fee is in Shipping/Freight, in Dropship Fee, or in neither.
  2. If you integrate, check that your system sends the fee in HandlingAmount (API, XML or CSV) or in a header-level SAC charge (EDI 810), and that the invoice total includes it.
  3. For EDI, check that the SAC02 charge code matches the code in your retailer's 810 specification.

The fix:

  • Portal invoice you have not submitted yet. Enter the fee in Shipping/Freight. The portal adds it to Invoice Total on the screen. For the full steps, see Create an Invoice.
  • Integrated invoices. Update your mapping so that future invoices send the fee as described in Handling fees and payment terms.
  • Invoice you already submitted. A submitted invoice opens read-only in the portal, so you cannot add the fee to it. Contact your retailer and Support about how to correct it.
  • Same fee on every invoice. Contact Support to ask whether Logicbroker can add it to your invoices automatically.

How to check it worked: open the new invoice in the portal. Shipping/Freight shows the fee, and Invoice Total includes it.

When to contact Support: if the fee is in the right field and the retailer still reports it missing. Include your company name, the retailer, the PO number, the invoice number, the fee amount and how you sent the invoice.

Which fee field should I use?

Who this applies to: suppliers creating invoices in the portal or sending them through an integration.

What it means: the invoice has two separate fee fields. Shipping/Freight (HandlingAmount) holds a shipping or handling charge. Dropship Fee (DropshipAmount) holds a dropship fee. The portal adds both to Invoice Total.

What to do:

  1. Check your retailer's document standards or your agreement for the name of the fee.
  2. If the retailer calls it a handling, shipping or freight charge, use Shipping/Freight or HandlingAmount.
  3. Use Dropship Fee only if your retailer's document standards ask for a dropship fee.
  4. If the standards do not say which field to use, contact Support before you send the invoice.
My payment terms are wrong

Who this applies to: suppliers on any connection type. Payment terms are agreed between you and each retailer.

What it means: when your invoice does not carry payment terms, Logicbroker takes them from the original order. In the portal, Payment Terms in the General Information section is filled in for you, and you cannot edit it.

What to check:

  1. Compare the terms on the invoice with the terms on the original order.
  2. Compare both with your written agreement with the retailer, for example net days, discount percent and discount days.
  3. If you integrate, check whether your system sends the PaymentTerm fields listed below, and what values it sends.

The fix:

  • Your integration sends the wrong values. Correct your mapping for the PaymentTerm fields.
  • The terms come from the order or your account setup. Confirm the correct terms with your retailer in writing. Then go to Settings > Document Settings > Payment terms and update your default terms or the terms for that retailer. You need permission to manage settings. These terms apply only to invoices that don't carry their own terms.

How to check it worked: the next invoice you create shows the agreed terms in Payment Terms.

When to contact Support: include your company name, the retailer, a PO number and invoice number that show the wrong terms, and the terms the retailer confirmed.

My invoice failed

If your invoice shows Failed, for example with "Cannot Invoice Unshipped Items", see the invoice errors in the Failed Document Summary. That article explains each error and how to retry or correct the invoice.

Field Descriptions

 

EDI Field Logicbroker Field Description Requirement

N/A

Identifier.SourceKey

Identifier from the source system. When you create an invoice, Logicbroker sets this to the InvoiceNumber.

Read Only

N/A

Identifier.LogicbrokerKey

ID to identify the document in the logicbroker system.

Read Only

N/A

Identifier.LinkKey

Used to link the document to the original source document. For example, It is best to supply the Order's linkkey when posting a shipment. This will make sure the order shipped quanitites are updated on the original order and all statuses are updated appropriateley.

Optional

N/A

SenderCompanyId

Logicbroker Internal Company ID to specify what company is sending the document.

Required

N/A

ReceiverCompanyId

Logicbroker Internal Company ID to specify what company is to receive the document.

Required

BIG01

InvoiceDate

Date of the invoice.

Required

BIG02

InvoiceNumber

Number to identify the unique invoice document.

Required

N/A

DocumentDate

 

Read Only

BIG03

OrderDate

Date on the Purchase Order

Optional - will be pulled from original order if not provided

BIG04

PartnerPO

This will be the purchase order number, this will be the main Key to link all your documents. This should match the order.

Required

CUR02 (SE)

Currency

Currency code to identify all values on the invoice. If no value is provided "USD" will be assumed.

Optional

SAC05 (C*G821)

HandlingAmount

Shipping and handling total to be charged on the invoice, this is part of the invoice total. In the portal this is the Shipping/Freight field. Some retailers require a SAC charge code other than G821, such as D500. Use the code in your retailer's EDI specification. See Handling fees and payment terms.

Optional

N/A

DropshipAmount

Dropship fee charged on the invoice. In the portal this is the Dropship Fee field. It is separate from HandlingAmount. If your retailer asks for a handling fee, use HandlingAmount.

Optional

TDS01

InvoiceTotal

Invoice total includes, full amount to be paid including line totals, shipping, taxes and discounts. In the portal, Logicbroker calculates the Invoice Total from these values. Through the API, EDI, XML or CSV, send the full total, including any HandlingAmount.

Required

REF02 (CO)

OrderNumber

Contains the end customer's order number, this will be used on the packing slip.

Optional

REF02 (IA)

VendorNumber

This is the internal vendor number provided to the supplier from the merchant. If available it is always recommended to send.

Optional

N9:MSG01 (L1*Notes)

Note

This will include any important internal messages or notes on the invoice.

Optional

SAC05 (A*C310)

Discounts.DiscountAmount

Will include the total discount, and will be used to calculate the invoice total.

Optional

ITD03

Discounts.DiscountPercent

Discount percent will be used as part of the payment terms. It will be used with the discount due date and discount days due.

Optional - will be pulled from original order if not provided

SAC05 (C*H850)

Taxes.TaxAmount

This will be the tax amount used to calculate the invoice total amount.

Optional

ITD04

PaymentTerm.DiscountDueDate

Discount due date when discount will be applied.

Optional - will be pulled from original order if not provided

ITD05

PaymentTerm.DiscountInNumberOfDays

Discount days due when discount will be applied.

Optional - will be pulled from original order if not provided

N/A

PaymentTerm.EffectiveDate

Date when the Payment terms begin.

Optional

ITD06

PaymentTerm.DueDate

Date in which the invoice is due, before additional charges are accrued.

Optional - will be pulled from original order if not provided

ITD07

PaymentTerm.PayInNumberOfDays

Number of days in which the invoice is due, before additional charges are accrued.

Optional - will be pulled from original order if not provided

ITD08

PaymentTerm.AvailableDiscount

The total amount of discount available if the terms are met.

Optional

ITD12

PaymentTerm.TermsDescription

Description of the payment terms. This will be a free form description.

Optional

N102 (RI)

RemitToAddress.CompanyName

Remit to address is only required if you do not have a business rule setup to default your remit to address.

Required

N201 (RI)

RemitToAddress.FirstName

 

Optional

N202 (RI)

RemitToAddress.LastName

 

Optional

N301 (RI)

RemitToAddress.Address1

 

Required

N302 (RI)

RemitToAddress.Address2

 

Optional

N401 (RI)

RemitToAddress.City

 

Required

N402 (RI)

RemitToAddress.State

 

Required

N404 (RI)

RemitToAddress.Country

 

Required

N403 (RI)

RemitToAddress.Zip

 

Required

N104 (RI*92)

RemitToAddress.AddressCode

 

Optional

N1:PER04 (TE)

RemitToAddress.Phone

 

Optional

N1:PER06 (EM)

RemitToAddress.Email

 

Optional

N102 (SF)

ShipFromAddress.CompanyName

Ship from address. The other ShipFromAddress fields (FirstName, LastName, Address1, Address2, City, State, Zip, Country, Phone and Email) use the same N2, N3, N4 and PER elements as RemitToAddress above. They go in the N1 loop with qualifier SF.

Optional

N102 (ST)

ShipToAddress.CompanyName

Ship to address. The other ShipToAddress fields (FirstName, LastName, Address1, Address2, City, State, Zip, Country, Phone and Email) use the same N2, N3, N4 and PER elements as RemitToAddress above. They go in the N1 loop with qualifier ST.

Optional

N102 (BT)

BillToAddress.CompanyName

Bill to address. The other BillToAddress fields (FirstName, LastName, Address1, Address2, City, State, Zip, Country, Phone and Email) use the same N2, N3, N4 and PER elements as RemitToAddress above. They go in the N1 loop with qualifier BT.

Optional

SAC05 (A*ZZZZ)

ExtendedAttribute.Allowance - ZZZ

Used to indicate an additional detailed allowance. The Code as shown in the example ZZZ will correspond to what type of allowance. See specific partner details for the applicable codes. These will be deducted automatically in the invoice total calculation.

Optional

SAC05 (C*ZZZZ)

ExtendedAttribute.Charge - ZZZ

Used to indicate an additional detailed charge. The Code as shown in the example ZZZ will correspond to what type of charge. See specific partner details for the applicable codes. These will be added automatically in the invoice total calculation.

Optional

IT1 loop

InvoiceLines

The line items being invoiced. Send at least one line. Logicbroker rejects a portal or API invoice if every line has a quantity of 0 or any line has a negative quantity.

Required

IT101

InvoiceLine.LineNumber

Line Number from the Order. If not provided this will be taken from the order automatically.

Required

IT104

InvoiceLine.Price

Unit cost that the merchant is being billed for that line.

Required

IT105

InvoiceLine.PriceCode

Used to indicate the price level for the product. See specific partner details for applicable codes.

Optional

IT102

InvoiceLine.Quantity

Contains the quantity of items to be invoiced.

Required

IT103

InvoiceLine.QuantityUOM

Unit of Measure for the quantity invoiced. See partner's details for specifics.

Required

IT1:PID05 (08)

InvoiceLine.Description

Standard short description or name of the product.

Optional

IT109 (IN)

InvoiceLine.ItemIdentifier.PartnerSKU

The Item identifier that is internal to the purchaser/merchant.

Conditional - if received on an order this value should be returned

IT107 (VN)

InvoiceLine.ItemIdentifier.SupplierSKU

The Item Identifier that is used by the supplier or the person fulfilling the product. This will always contain a value.

Required

IT111 (UP)

InvoiceLine.ItemIdentifier.UPC

Typically the U.P.C Consumer Package code will be provided; however additional standardized codes can be provided here as well. See specific partner instructions for details.

Conditional - if received on an order this value should be returned

IT1:TXI02

InvoiceLine.Taxes.TaxAmount

Item Level Tax amount

Optional

We're updating this article. Some steps and screenshots may not match the portal yet. If anything is unclear, contact support@logicbroker.com.