SBLTransaction

Provides a data model for an ongoing receipt uploading operation. In Swift, use Transaction typealias.

NSSecureCoding Protocol

Transaction Properties

  • Identifies transaction uniquely on device. Local transaction identifier is generated when instance is created, and does not change.

  • Identifier of user tied to receipt upload transaction

  • Identifier of transaction on the server. When remoteID is received, status of transaction is set to processing

  • Receipt Transaction(Upload) Date

  • Transaction processing time estimated by the server (fast, medium, or slow)

  • Transaction type

Receipt Properties

  • Identifier of receipt tied to transaction. Only present when transaction is completed (status is set to .completed)

  • Source email address of an email that is being converted to a receipt. If this property is set, the type is set to .email

  • Image of receipt to upload. Must be 5 MB or less.

  • Receipt date, category, merchant name, and currency code

  • Receipt folders, expense type, and note

  • Receipt’s external account transaction id

Transaction State

  • Transaction status

  • Set to a failure reason when transaction status is failed, or to noError otherwise

  • Indicates that provided image failed on server, and must be replaced (retrying the same image is not recommended)

Transaction Observation

  • Transaction Observer to monitor transaction progress

Initialization

NSSecureEncoding

NSObject