Accepts XLSX or JSONL files containing charge records. Supports chunked uploads via MPT-File-Manager header. File is validated and charges are extracted for processing. Maximum file size is 10GB.
The ID of the journal.
Journal file that contains the charges data.
OK
Represents a journal entry in the billing system.
The unique identifier of the journal entry.
BJO-1234-1234Name of the journal.
29 Nov 2024 #1A description of the journal entry.
Monthly revenue journal entryRepresents the identifier used for operations in the billing system.
OPS-12345Represents the identifier used for vendors in the billing system.
VND-67890Additional notes or comments about the journal entry.
Includes adjustments for Q1 2025Represents the various statuses a journal can have in the billing system.
The due date for the journal entry.
2025-05-15T23:59:59+00:00Represents the markup value applied to the pricing.
15.5Represents the margin value calculated for the pricing.
20Represents the total purchase price.
1000Represents the total sale price in buyer currency.
1200Specifies the currency for the pricing.
The total number of items in the upload.
100The number of items that were split during the upload.
10The number of items that are ready for processing.
85The number of items that encountered errors during the upload.
5Indicates the total number of items involved in the processing.
100Indicates the number of items that are ready for further processing.
80Indicates the number of items that encountered errors during processing.
5Indicates the number of items that were split into multiple parts during processing.
10Indicates the number of items that were skipped during processing.
5Indicates the number of items that were manually ignored.
2Represents the error code associated with the billing entity.
ERR-001Represents the error message providing details about the issue.
Invalid billing data provided.Represents the unique identifier for the error, if applicable.
12345Represents the detailed message associated with the error, if applicable.
Failed to process the billing entity due to missing data.Represents the status of a backup operation.
Date and time of the backup action, if available.
Bad Request
Forbidden
Not Found
Unsupported Media Type
POST /public/v1/billing/journals/{id}/upload HTTP/1.1
Host: api.platform.softwareone.com
Content-Type: multipart/form-data
Accept: */*
Content-Length: 17
{
"file": "binary"
}{
"audit": {
"created": {
"at": "2026-01-01T00:00:00.000Z",
"by": {
"id": "text",
"name": "text",
"icon": "text",
"revision": 1
}
},
"updated": {
"at": "2026-01-01T00:00:00.000Z",
"by": {
"id": "text",
"name": "text",
"icon": "text",
"revision": 1
}
},
"draft": {
"at": "2026-01-01T00:00:00.000Z",
"by": {
"id": "text",
"name": "text",
"icon": "text",
"revision": 1
}
},
"deleted": {
"at": "2026-01-01T00:00:00.000Z",
"by": {
"id": "text",
"name": "text",
"icon": "text",
"revision": 1
}
},
"error": {
"at": "2026-01-01T00:00:00.000Z",
"by": {
"id": "text",
"name": "text",
"icon": "text",
"revision": 1
}
},
"validating": {
"at": "2026-01-01T00:00:00.000Z",
"by": {
"id": "text",
"name": "text",
"icon": "text",
"revision": 1
}
},
"validated": {
"at": "2026-01-01T00:00:00.000Z",
"by": {
"id": "text",
"name": "text",
"icon": "text",
"revision": 1
}
},
"review": {
"at": "2026-01-01T00:00:00.000Z",
"by": {
"id": "text",
"name": "text",
"icon": "text",
"revision": 1
}
},
"enquiring": {
"at": "2026-01-01T00:00:00.000Z",
"by": {
"id": "text",
"name": "text",
"icon": "text",
"revision": 1
}
},
"generating": {
"at": "2026-01-01T00:00:00.000Z",
"by": {
"id": "text",
"name": "text",
"icon": "text",
"revision": 1
}
},
"generated": {
"at": "2026-01-01T00:00:00.000Z",
"by": {
"id": "text",
"name": "text",
"icon": "text",
"revision": 1
}
},
"accepted": {
"at": "2026-01-01T00:00:00.000Z",
"by": {
"id": "text",
"name": "text",
"icon": "text",
"revision": 1
}
},
"completed": {
"at": "2026-01-01T00:00:00.000Z",
"by": {
"id": "text",
"name": "text",
"icon": "text",
"revision": 1
}
}
},
"$meta": {
"omitted": [
"text"
]
},
"revision": 1,
"id": "BJO-1234-1234",
"name": "29 Nov 2024 #1",
"description": "Monthly revenue journal entry",
"externalIds": {
"operations": "OPS-12345",
"vendor": "VND-67890"
},
"notes": "Includes adjustments for Q1 2025",
"status": "Validated",
"vendor": {
"id": "text",
"name": "text",
"icon": "text",
"revision": 1,
"type": "Client",
"status": "Active"
},
"owner": {
"id": "text",
"name": "text",
"icon": "text",
"revision": 1,
"externalId": "text"
},
"product": {
"id": "text",
"name": "text",
"icon": "text",
"revision": 1,
"externalIds": {
"operations": "text",
"defaultErpItem": "text"
},
"status": "text"
},
"authorization": {
"id": "text",
"name": "text",
"revision": 1,
"currency": "text"
},
"dueDate": "2025-05-15T23:59:59+00:00",
"assignee": {
"id": "text",
"name": "text",
"icon": "text",
"revision": 1
},
"price": {
"markup": 15.5,
"margin": 20,
"totalPP": 1000,
"totalBSP": 1200,
"currency": "text"
},
"upload": {
"total": 100,
"split": 10,
"ready": 85,
"error": 5
},
"processing": {
"total": 100,
"ready": 80,
"error": 5,
"split": 10,
"skipped": 5,
"ignored": 2
},
"error": {
"errorCode": "ERR-001",
"errorMessage": "Invalid billing data provided.",
"id": "12345",
"message": "Failed to process the billing entity due to missing data."
},
"backup": {
"status": "Pending",
"date": "2026-01-01T00:00:00.000Z"
}
}