Tally In module page - how it works, an interactive test form, and the
endpoint reference, all in one place. Set your tenant API Key in the Setup
block below; every request sends the ApiKey header. See
All Forms for the combined surface or Home for the module index.
How it works
FTZ warehouse receipt (Tally In) end to end.
Tally In (FTZ warehouse receipt)
Tally In records an FTZ warehouse receipt (DOC_TYPE TI, channel tally.in.create),
with a receipt header plus a multi-row lines repeater (each line needs
product_code + pieces). receipt_no follows the NEW convention
- blank / NEW means ASCI assigns the next receipt number at insert.
Submit rides the generic inbound pipeline via POST /api/TallyIn/Submit; the response carries the
submission_id. There is no dedicated per-submission Tally status endpoint - use the
Outbound listing to confirm processing. Supplier / shipper / consignee lookups resolve your customer
master live.
Setup
API key + base URL used by every request below.
Credentials
Leave Base URL blank to call this same server with relative paths (the
normal case). Set it (e.g. https://asci-api.asciofmiami.com) to point the forms
at another host. Every request below sends the ApiKey header.
Sent on every create / submit POST. Click Generate for a fresh one, or a new one is auto-generated per submit if blank.
Test form
Interactive form - POSTs to the API and shows the JSON response + HTTP status.
Maps to POST /api/TallyIn/Submit (DOC_TYPE TI, channel
tally.in.create). Field-by-field Tally In (FTZ warehouse receipt)
form with a receipt header plus a multi-row
lines repeater (each line: product_code + pieces
required). receipt_no follows the NEW convention - blank / NEW
means ASCI assigns the next receipt number at insert time. Supplier / shipper / consignee
lookups resolve your customer master live.
e214 / CBP Admission (optional)
Optional CBP e214 (FTZ admission) fields. These are read by the CBP builder when you
Transmit to CBP (POST /api/Ftz/{id}/TransmitCbp). Every field
here is OPTIONAL and omitted from the JSON when left blank, so a plain inventory Tally In
still submits unchanged. Header fields go into document.header; per-line e214
fields (HTS, country of origin, values, etc.) live on each Receipt Line below.
Extra header fields used only when Action is R (Replace), S (Status change) or D (Delete). All OPTIONAL and omitted from the JSON when blank, so a plain add (action A) or plain inventory submit is unchanged.
Tally In rides the generic inbound pipeline; the Submit response carries the
submission_id + status_url. (There is no dedicated per-submission
Tally status endpoint - the run-locked IPAPIGET consumer drains the queue.)
Transmit to CBP calls POST /api/Ftz/{id}/TransmitCbp (scope
cbp.submit) to build and file the FTZ e214 admission.
Endpoints
Tally In endpoint family (api/TallyIn). Full request schema below.
Tally In endpoints
| Method | Path | Purpose |
|---|---|---|
| POST | /api/TallyIn/Submit | Submit an FTZ receipt. Returns submission_id. |
| GET | /api/TallyIn/Outbound | List processed outbound Tally In records. |
| GET | /api/TallyIn/Outbound/{submissionId} | Fetch one processed record. |
Note: Tally In / Out ride the generic inbound pipeline; there is no dedicated per-submission status endpoint.
Schema
Request body for POST /api/TallyIn/Submit. Envelope: { "document": { "header": { … }, "lines": [ … ] } }. receipt_no follows the "NEW" convention (blank / NEW => ASCI assigns it). Dates are ISO YYYY-MM-DD (empty = none). Header maps to legacy WPHMS, lines to WPHDT.
document (root)
| Field | Type | Req? | Max | Description |
|---|---|---|---|---|
metadata | object | No | — | Client-supplied key/value bag (string→string, ≤50 entries), echoed on status / webhooks. |
header | object | Yes | - | Warehouse-receipt header (see below). |
lines | array | No | - | Detail lines (see below). |
| Field | Type | Req? | Max | Description |
|---|---|---|---|---|
bonded_ind | string | No | 1 | Foreign (Y) / Domestic (N). |
receipt_no | string | No | 11 | Receipt number. Blank / NEW => ASCI assigns it. |
supplier_code | string | No | 6 | Supplier code. |
supplier_name | string | No | 30 | Supplier name. |
shipper_code | string | No | 6 | Shipper code. |
consignee_code | string | No | 6 | Consignee code. |
carrier_name | string | No | 30 | Carrier name. |
pro_no | string | No | 25 | Pro / freight bill number. |
po_number | string | No | 10 | Purchase-order number. |
reference_no | string | No | 6 | Reference number. |
destination | string | No | 17 | Destination. |
import_date | string | No | - | Import date (ISO YYYY-MM-DD). |
remarks | string | No | 50 | Remarks. |
date_in | string | No | - | Date received (ISO YYYY-MM-DD). |
location | string | No | 2 | Warehouse location (validated vs LOCATN/WPTB). |
| Field | Type | Req? | Max | Description |
|---|---|---|---|---|
line_no | string | No | 4 | Line number. Blank => writer assigns max+1. |
product_code | string | Yes | 20 | Product code = item(16) + pack(4). |
pieces | number | Yes | - | Pieces received. |
weight | number | No | - | Weight. |
description | string | No | 40 | Line description. |
invoice_no | string | No | 15 | Invoice number. |
po_no | string | No | 7 | Purchase-order number (line level). |
bin | string | No | 8 | Bin. |
unit_price | number | No | - | Unit price. |
mid | string | No | 16 | Manufacturer id. |
hts | string | No | 10 | HTS number. |
date_in | string | No | - | Date in (ISO YYYY-MM-DD); FIFO sort key at tally-out. |
zone_lot_no | string | No | 6 | SERVER-ASSIGNED FTZ lot; may be blank inbound. |
status | string | No | 2 | SERVER-ASSIGNED (writer forces AV); may be blank inbound. |