Skip to main content

Create an Internal Transfer

Endpoint Overview​

This API endpoint provides a detailed overview of the endpoint responsible for creating an internal transfer (a stock move between two companies/warehouses) within the Inventory module of the Juleb ERP. A single call can create one or many internal transfers at once.

Endpoint Details​

  • Method: POST
  • URL: /api/v1/inventory/picking/internal-transfer

Parameters​

  • Path Parameters: None
  • Query Parameters: None

Request Body​

The request body must wrap the transfer (or transfers) to create under a CompanyPicking key

  • either a single object, or an array to create several transfers in one call:
{
"CompanyPicking": {
"companyId": integer,
"destCompanyId": integer,
"reason": string,
"note": string,
"origin": string,
"autoValidate": boolean,
"autoCreateBatch": boolean,
"rsd_deserialization": boolean,
"global_import": boolean,
"international_export": boolean,
"lines": [
{
"productId": integer,
"default_code": string,
"productQty": integer,
"batch": string,
"expiry": string
}
]
}
}

Field Reference​

Same shared fields as Create a delivery (reason, note, origin, autoValidate, autoCreateBatch, rsd_deserialization, global_import, international_export, and the lines[] shape), plus:

FieldTypeRequiredDescription
companyIdintegerYesThe company the stock is transferred from.
destCompanyIdintegerYesThe company the stock is transferred to.

Unlike Create a delivery, internal transfers have no partnerId — destCompanyId is used instead to resolve the destination.

Response​

  • 201 OK: The requested resource has been created.
  • 400 Bad Request: Bad request.
  • 401 Unauthorized: Unauthorized.

Response Body​

{
"data": {
...record fields
}
}

Example​

Request​

const axios = require('axios');
const accountName = process.env.ACCOUNT_NAME;
const apiKey = process.env.API_KEY;

axios.post(`https://${accountName}.juleb.com/api/v1/inventory/picking/internal-transfer`, {
CompanyPicking: {
companyId: 1,
destCompanyId: 2,
lines: [
{
productId: 34969,
productQty: 80,
batch: "13200001",
expiry: "30-09-2024"
}
]
}
}, {
headers: {
'accept': '*/*',
'Authorization': `TOKEN`,
'Content-Type': 'application/json'
}
})
.then(response => {
console.log(response.data);
})
.catch(error => {
console.error('Error:', error);
});

Response​

{
"data": {
"id": 11002,
"name": "Demo/INT/01395",
"origin": null,
"note": null,
"state": "assigned",
"scheduled_date": "2024-09-03T23:44:21.000Z",
"location_id": 8,
"location_dest_id": 23,
"picking_type_id": 5,
"company_id": 1,
"dest_company_id": 2,
"is_inter_transfer": true
}
}