External documents
External documents that are relevant during order fulfillment can be added to the order process. As a result, these documents can be, for example, printed via the Operations app or can be used by other clients to upload or change documents during processing.
A typical use case is to attach a branded invoice document which is generated outside of the fulfillmenttools platform. Such a document can be added to the process to be printed and added to the parcel during order fulfillment.
External documents can be assigned to a section, depending on the operational process in which it is needed. This way it can be configured in which part of the app the document is displayed, e.g., in the Picking, Packing, or Handover section.
External documents can be added to the process entity. This allows the documents to be selected for printing within the mobile application or to be uploaded or modified by other clients during fulfillment processing.
The print and document configuration must be checked as well when setting up printing of external documents. To control whether external documents are enabled for specific entity types, see Document control with tags.
Adding an external document
To add a document to a process, perform a POST request with a JSON body to the following endpoint:
POST https://{YOUR-TENANT-NAME}.api.fulfillmenttools.com/api/processes/<processId>/documents{
"type": "PDF",
"section": "PACKJOB",
"file": {
"name": "invoice.pdf",
"content": "<base64-encoded-file-content>"
}
}The system only supports uploading PDF files.
Document sections
The section field in the request object assigns the document to a specific part of the fulfillment process. This controls where in the application the document is displayed.
The following sections are supported:
PACKJOBPICKJOBHANDOVERJOBORDERPARCELPACKING_TARGET_CONTAINER
Placeholder documents
A placeholder document can be created early in the process without any file content. When the printing section is opened and the final document is not yet available, information about the pending document is displayed. Adding placeholders is optional, but it improves the user experience for the warehouse staff.
To create a placeholder, perform a POST request to the same endpoint with the following JSON body:
Updating an external document
Once a final document is available, it can be uploaded to replace a placeholder or update an existing document. To modify a document, perform a PUT request with the documentId and a JSON body containing the file.
Document control with tags
Each operative entity (pick job, pack job, parcel, and handover job) can have documents attached, such as shipping labels, delivery notes, or return notes. By default, a predefined set of document categories is enabled for each entity type. The tag configuration system lets you control which document categories are offered for each entity, enabling you to tailor documents to specific order types, sales channels, or other business rules.
A typical use case is differentiating between marketplace orders and own-store orders: marketplace orders may require only a shipping label, while own-store orders should also include a delivery note and return note.
Document categories
The following document categories are available in fulfillmenttools:
SENDLABEL
Shipping label
RETURNLABEL
Return shipping label
DELIVERYNOTE
Delivery note
RETURNNOTE
Return note
EXTERNAL
External documents uploaded via API
TRANSFERLABEL
Transfer label (for custom carriers)
CUSTOMS
Customs document
Not every category is available for every entity type. The following table shows which categories can be configured per entity:
SENDLABEL
Yes
Yes
Yes
Yes
RETURNLABEL
Yes
Yes
Yes
Yes
DELIVERYNOTE
Yes
Yes
Yes
No
RETURNNOTE
Yes
Yes
Yes
No
EXTERNAL
Yes
Yes
Yes
Yes
TRANSFERLABEL
No
Yes
Yes
No
CUSTOMS
No
No
Yes
No
TRANSFERLABEL is added automatically based on the carrier type and can't be configured via tags. CUSTOMS documents on parcels are added from carrier results.
How tag-based document control works
The tag configuration controls which document categories are enabled for an entity. It uses a two-level mechanism:
Default documents (
offeredDocumentsByDefault): These document categories are applied when the entity has no tags or when none of its tags match a configured rule.Per-tag documents (
offeredDocumentsPerTag): These document categories are applied when the entity's tags match a specific tag and value combination.
Matching logic
When an operative entity is created, fulfillmenttools determines which documents to offer using the following logic:
If the entity has tags,
offeredDocumentsPerTagis checked for entries whosetagRefandmatchingValuesmatch one of the entity's tags.If a match is found, the
offeredDocumentsfrom that matching entry are used.If no match is found or the entity has no tags, it falls back to
offeredDocumentsByDefault.
Setting up a tag configuration
Create the needed tag
Create a new tag or use an existing tag that represents the order attribute you want to differentiate by (for example, sales channel or shipping method).
More information on tags can be found in the Tags article.
Configure the tag configuration for the desired entity
Use the corresponding API endpoint to set the tag configuration. Each entity type has its own endpoint:
Pick job
PUT /api/configurations/tags/pickjob
Pack job
PUT /api/configurations/tags/packjob
Parcel
PUT /api/configurations/tags/parcel
Handover job
PUT /api/configurations/tags/handoverjob
The GET method is available on the same endpoints to retrieve the current configuration.
Permissions required: CONFIG_READ for reading, CONFIG_WRITE for writing.
Create orders with the appropriate tags
When orders are created with the configured tags, the matching document configuration is automatically applied to the operative entities created from those orders.
Example: Configuring pick job documents
The following example configures document categories for pick jobs, differentiating between express orders and marketplace orders.
In this example:
Default (no tags or no matching tags): Pick jobs will have
SENDLABELandDELIVERYNOTEenabled.Express or same-day shipping: Pick jobs additionally get
RETURNNOTEandEXTERNALdocuments.Marketplace orders: Pick jobs only get a
SENDLABEL, no delivery note or return note.
Allowed categories in per-tag configuration
When configuring offeredDocumentsPerTag, only certain document categories are allowed per entity type. The system validates the configuration and rejects unsupported categories.
Pick job
SENDLABEL, RETURNLABEL, DELIVERYNOTE, RETURNNOTE, EXTERNAL
Pack job
SENDLABEL, RETURNLABEL, DELIVERYNOTE, RETURNNOTE, EXTERNAL
Parcel
SENDLABEL, RETURNLABEL, DELIVERYNOTE, RETURNNOTE, EXTERNAL, CUSTOMS
Handover job
EXTERNAL
This validation applies to offeredDocumentsPerTag only. The offeredDocumentsByDefault array isn't validated against these restrictions.
Last updated

