A bulk job is a collection of uploaded records which can be validated and imported/processed. The nature of the job is highly variable. While the user interface has many available jobs, the API supports the following:
Bulk Write Off
- Takes a list of up to 1000 invoice IDs to write off. The invoices must have a nonzero balance and the customer must be in status "Active" or "Cancelled"
Bulk Payment
- Takes a list of payments. The JSON for a payment is the JSON from POST payments
Bulk Job Object Fields
Property | Type | Description |
---|---|---|
records | Object. Defined below | A list of the records and their statuses. |
accountId | Number | The ID of your Fusebill account. |
type | Enum: {CustomerImport, SubscriptionImport, OpeningDeferredRevenueBalance, QuickBooksLatch, QuickBooksUnlatch, DeletePaymentMethods, MovePaymentMethods, PaymentImport, SubscriptionActivationImport, UpdateSubscriptionImport, SubscriptionProductQuantities, SalesforceCatalogSync, CustomerImportBasic, CustomerImportEdit, CustomerActivationImport, CreateSubscriptionImport, PushToThirdPartyVaultImport, CancelSubscriptionImport, CreatePurchaseProductItem, GeotabSubscriptionCreateImport, BulkWriteOff, BulkPayment} | The type of upload. Only some are available for creation/processing via API (see above), but any can be read over API. |
status | Enum: {Validating, Done, Validated, ValidatedWithErrors, Processing, Processed, ProcessedWithErrors, Expired, NotStarted, Failed} | The status of the bulk job. |
createdTimestamp | DateTime | The timestamp of when the job was created. |
completedTimestamp | DateTime | The timestamp of when this job finished validation. |
totalRecords | Number | The total number of records provided. |
successfulRecords | Number | The count of records which have succeeded validation. |
failedRecords | Number | The count of records which have failed validation. |
totalProcessedRecords | Number | The count of records which were processed regardless of success/failure. |
processedRecords | Number | The count of records which were successfully processed. |
failedProcessedRecords | Number | The count of records which were not successfully processed. |
importingTimestamp | DateTime | The timestamp of when the processing started. |
processedTimestamp | DateTime | The timestamp of when the processing finished. |
fileName | String | The .CSV file name used for the upload. |
reference | String | The reference for the upload. Usually system generated. |
modifiedTimestamp | DateTime | The timestamp of the last time this entity was modified. |
id | Number | The Fusebill generated ID which uniquely identifies this bulk job. |
Records Fields
Property | Type | Description |
---|---|---|
accountUploadId | Number | The Fusebill generated ID which uniquely identifies the bulk job. |
status | Enum:{ Queued, PassedValidation, FailedValidation, QueuedForProcessing, Processed, FailedProcessing} | The status of this record. A record has only changed data in the system if it is in status "Processed" |
data | String | A string representation of the data this record represents. This varies by bulk job type |
details | String | A string containing an explanation for the current status |
createdEntityId | Number | The Fusebill generated ID of the (possible) entity created by this record. Not all jobs create entities (e.g. customers, subscriptions, etc.) |
id | Number | The Fusebill generated ID of this record. |