ASCI API

| Home | Swagger | All Forms | Documentation | HTS →

Tally Out 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 withdrawal (Tally Out) end to end.

Tally Out (FTZ withdrawal)

Tally Out records an FTZ withdrawal (DOC_TYPE TO, channel tally.out.create), with a withdrawal header plus a multi-row lines repeater (each line needs product_code + qty_ordered). tally_out_no follows the NEW convention. Inventory depletion (FIFO by date-in) is performed server-side.

Submit rides the generic inbound pipeline via POST /api/TallyOut/Submit; the response carries the submission_id. Use the Outbound listing to confirm processing. Customer 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/TallyOut/Submit (DOC_TYPE TO, channel tally.out.create). Field-by-field Tally Out (FTZ withdrawal) form with a withdrawal header plus a multi-row lines repeater (each line: product_code + qty_ordered required). tally_out_no follows the NEW convention - blank / NEW means ASCI assigns the next number at insert time. Depletion (FIFO by date-in) is performed server-side. Customer lookups resolve your customer master live.

Withdrawal Header
Withdrawal Lines

Note: FTZ withdrawal entries are filed through the legacy entry process; API transmit is a planned follow-on. Submit Tally Out still submits inventory to /api/TallyOut/Submit normally.

Transmit to CBP (Type-06 withdrawal)

FTZ withdrawal entries are filed through the legacy entry process; API transmit is a planned follow-on. The FTZ withdrawal (a Type-06 entry via the entry-summary path) has no API transmit today, so the button below is disabled. The placeholder JS (POST /api/Ftz/{id}/TransmitWithdrawal) is left in place so it is trivial to re-enable once the real endpoint exists.

FTZ withdrawal entries are filed through the legacy entry process; API transmit is a planned follow-on.

Tally Out 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.)

Endpoints

Tally Out endpoint family (api/TallyOut). Full request schema below.

Tally Out endpoints

MethodPathPurpose
POST/api/TallyOut/SubmitSubmit an FTZ withdrawal. Returns submission_id.
GET/api/TallyOut/OutboundList processed outbound Tally Out records.
GET/api/TallyOut/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/TallyOut/Submit. Envelope: { "document": { "header": { … }, "lines": [ … ] } }. tally_out_no follows the "NEW" convention. Depletion against WPHDT (AV→PO, FIFO by Date-In, partial-line split) runs server-side. Dates are ISO YYYY-MM-DD. Header maps to EPFTZDOH, lines to EPIFDD.

document (root)

FieldTypeReq?MaxDescription
metadataobjectNoClient-supplied key/value bag (string→string, ≤50 entries), echoed on status / webhooks.
headerobjectYes-Withdrawal header (see below).
linesarrayNo-Detail lines (see below).
header (object) - EPFTZDOH
FieldTypeReq?MaxDescription
tally_out_nostringNo6Tally-out number. Blank / NEW => ASCI assigns it.
typestringNo11=Internal, 2=Customer.
statusstringNo2SERVER-ASSIGNED (BP/OS/SH/PS/CN); writer creates the header at BP.
type_216stringNo1Type of Activity 0216 (M/F/E/D/T/blank).
po_nostringNo13Purchase-order number.
customer_codestringNo6Customer code.
sold_to_codestringNo6Sold-to code.
ship_to_codestringNo5Ship-to code.
operatorstringNo2Operator.
qp_consumptionstringNo1QP consumption / 3461 indicator.
order_datestringNo-Order date (ISO YYYY-MM-DD).
requested_datestringNo-Requested date (ISO YYYY-MM-DD).
lines[] (array) - EPIFDD
FieldTypeReq?MaxDescription
line_nostringNo4Line number.
product_codestringYes20Product code = item(16) + pack(4).
qty_orderednumberYes-Quantity ordered (validated ≤ available; over-order rejected).
unit_pricenumberNo-Unit price.
warehouse_keystringNo16WPHDT key = bnb(1)+receipt(11)+line(4). Blank => FIFO; supplied => deplete that exact lot.
ref_7512stringNo67512 reference number.
item_statusstringNo2Detail status (BP/OS).