OCTO Ops Help User guides and product documentation

Discharge Lists

Import a shipping line's discharge report so its containers prefill later on the matching inward.

On this page 9

A discharge list entry records a container a shipping line has told you to expect, imported from an Excel file. When that container's inward is later registered by picking up the matching entry, OCTO Ops prefills the inward's details from it and marks the entry as used.

Before you start

Access is controlled by permission:

  • View — see the Discharge lists page (all records, or only your own) and have its entries offered to prefill an inward.
  • Create — import a discharge list file.
Note

There's no Edit or Delete permission for Discharge Lists, and no screen to change or remove an entry once it's imported.

For a clean import, make sure the MLOs (see MLOs), ISO types, and vessels you expect already exist — the import can cope with some of these being missing, but flags it when it does (see below).

The Discharge lists page

Open Container Depot > Discharge Lists to see every imported entry you can view, newest first:

Column Shows
ID The entry's ID. Once the container's inward has been registered from the entry, the ID opens that inward
MLO The MLO's code, or a dash
Container #
BL # The bill of lading number
Consignee
Cargo The cargo type, or a dash
ISO The ISO type code
Vessel The vessel code
Voyage
Vessel Date
Type The inward type from the file
FCL Valid Date

The list shows 25 rows per page (10, 50, 100, 150, or All also available), and the search box matches any column — including the MLO, container number, cargo, ISO and vessel. There's no create icon: entries only come from an import, through Actions > Import discharge list.

Import a discharge list

  1. From the Actions menu, select Import discharge list.
  2. Choose an Excel file (.xlsx, .xls, .csv).
  3. Select Upload and preview (disabled until you've chosen a file).

If the file can't be processed, the page shows an error titled "The file could not be imported." Otherwise you're taken to the import preview.

What the import expects, column by column

The file's first row must be a header row, with these column names:

Column Used for
container The container number. Rows with no container number are skipped entirely.
mlo The MLO code.
bl_number The bill of lading number.
cargo_type The cargo type name — created automatically if it doesn't already exist.
iso_code The ISO type code.
vessel The vessel code.
consignee The consignee name.
in_type The inward type.
fcl_valid_date The date the container's FCL is valid until.
vessel_date The vessel's date.

For each row, OCTO Ops checks the container, ISO code, vessel, and FCL valid date, and reports one of three things on the preview: a problem flagged as an error, a note that something will be created automatically, or nothing at all if the row is clean.

Column Condition What you'll see
container Container number not found "Container number {number} is not found and will be created" — listed as something that will be created
container Container is already in stock "Container number {number} is already in stock. Please remove this record and retry." — an error
iso_code Blank "Check for empty ISO code values or blank rows in the document" — an error
iso_code Not blank but not found "ISO code missing: {code}" — listed as missing master data
vessel Blank "Check for empty vessel code values or blank rows in the document" — an error
vessel Not blank but not found "Vessel code not found in vessel list: {code}" — listed as missing master data
cargo_type Not found "Cargo type not found in cargo type list: {type}. This will be created automatically." — listed as something that will be created
fcl_valid_date Missing "Missing FCL Valid Till Dates found." — an error; the row is still included, defaulted to today's date
mlo Blank "Missing MLO for {container}." — an error
mlo Not blank but not found "MLO not found: {mlo}" — an error
Note

Only one MLO message survives per import if more than one row has a blank or unrecognised MLO — you'll see the last one, not a list of every affected row.

Review the preview

The import preview shows, when there's anything to report:

  • A red "The following errors prevent this import from proceeding:" list — rows with problems.
  • An amber "The following missing master data prevents this import from proceeding…" list — codes that don't exist yet.
  • A blue "The following masters or reference records will be automatically created during the import process:" list — new containers or cargo types the import will create.

If the preview lists any errors or missing master data, Confirm and record isn't offered — the page says "Resolve the issues above and import the file again to continue." Fix the file (or create the missing master data) and import it again.

Below that, every parsed row is listed in a numbered table — Container, MLO, Consignee, Cargo Type, ISO, In Type, FCL Valid Date, BL Number, Vessel, Voyage, Vessel Date — including rows that have errors.

Important

Only the person who uploaded the file can view or confirm its preview.

Confirm the import

Select Confirm and record (disabled while confirming, or if there are no rows). For every row in the preview, OCTO Ops:

  1. Matches the ISO type, MLO, and vessel it already found, and creates the cargo type if it was missing.
  2. Creates the container if it didn't already exist.
  3. Creates a discharge list entry for the container — but only if the container isn't already in stock. If the container is already in stock, the row is silently skipped: no error is shown at this point, and the row still counts towards the success total.

Every created entry starts unused. A toast confirms "Successfully imported {count} containers." — the count is the number of rows processed, which can be higher than the number of entries actually created, since skipped in-stock containers still count.

How an entry is used by an inward

When you register an inward for a container that has an open (unused) discharge list entry, OCTO Ops offers that entry's details — consignee, BL number, voyage, ISO type, cargo type, MLO, vessel, and vessel date — to prefill the inward form (see Inwards). Picking it up:

  • stamps the entry with the inward it was used on, and
  • marks the entry as used, so it won't be offered again.

If you register an inward without picking up the prefilled entry, the entry is left open and untouched — an inward only links to a discharge list entry, and closes it, when you actively pick it up.

Business units

Only when your organization uses business units:

  • Choose the Business unit on the import page. Every entry in the file is saved on it and numbered in its legal entity's sequence, and the preview shows it. If that business unit is deactivated or deleted, or business units are switched off, before you confirm, you'll see "The business unit chosen for this upload is no longer available. Upload the file again." and nothing is saved.
  • An inward registered for a container with an open entry starts with the entry's business unit.
  • The Discharge lists page shows the business unit chosen in the header, with a Business unit column. Select the funnel icon to choose another business unit, {your organization} (main business) only, or All business units.

Current limitations

  • There is no list view for discharge list entries — only the Excel import flow reaches them.
  • Discharge list entries can't be edited or deleted once imported.
  • The import preview doesn't filter out rows that have errors — all parsed rows are shown, whether or not they can be used.
Last updated 13th October 2026