Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

  • Accounts are where the core charge is held and created when a fee/fine is created and applied to a user account.
    • The associated JSON schema is accountdata.json (https://github.com/folio-org/mod-feesfines/blob/master/ramls/accountdata.json)
    • An individual account record has a required userId - that's how it's linked to the user record
    • An individual user may have zero, one, or more accounts - e.g., if they've never had a fine charged, they would have no account records.
    • Accounts have feeFineId and ownerId - this links to the fee fine owner, and the type of fee/fine that was charged. Types of fines are configurable for manual charges in Settings → Users → Fee Fines. For automatic charges, they are configured in FOLIO itself. Types of fee/fines in the system can be retrieved via an API call (GET /feefines)
    • Note that as of Honeysuckle, a materialTypeId and itemId must be provided, even if you are not trying to tie a fee/fine to an individual item. When creating a fee/fine, you will have to set a value for those attributes no matter what. The FOLIO UI uses "0" as a value if no item is provided. See
      Jira Legacy
      serverSystem Jira
      serverId01505d01-b853-3c2e-90f1-ee9b165564fc
      keyUIU-2070
      for the status of this issue.
    • Also note that as of Honeysuckle, a loanId must be provided to prevent odd UI behavior for a migrated fee/fine. The FOLIO UI uses "0" as a value for the loanId for a manual fee/fine. This is the case even if your fee/fine is not being tied to a loan record. See
      Jira Legacy
      serverSystem Jira
      columnIdsissuekey,summary,issuetype,created,updated,duedate,assignee,reporter,priority,status,resolution
      columnskey,summary,type,created,updated,due,assignee,reporter,priority,status,resolution
      serverId01505d01-b853-3c2e-90f1-ee9b165564fc
      keyUIU-2071
      for the status of this issue. 
    • Hardcoded attributes (with allowed values) include:
      • Status
        • Open
        • Closed 
      • Payment Status
        • Outstanding
        • Paid partially
        • Paid fully
        • Waived partially
        • Waived fully
        • Transferred partially
        • Transferred fully
        • Refunded partially
        • Refunded fully
        • Cancelled as error
  • Actions are where transactions are kept on the account
    • The associated JSON schema is feefineactiondata.json (https://github.com/folio-org/mod-feesfines/blob/master/ramls/feefineactiondata.json)
    • Accounts will always have at least one action, created when the account was created
    • A feefineactiondata record has a required attribute of accountId which links it to the account.
    • Hardcoded attributes (with allowed values) include
      • TypeAction
        • Outstanding
        • Paid partially
        • Paid fully
        • Waived partially
        • Waived fully
        • Transferred partially
        • Transferred fully
        • Refunded partially
        • Refunded fully
        • Cancelled as error
        • Staff info only
    • If you want the action to properly update the account, you must post the action to the appropriate API endpoint.
      • staff info - POST /feefineactions
      • payments - POST /accounts/{accountId}/pay
      • waives - POST /accounts/{accountId}/waive
      • refunds - POST /accounts/{accountId}/refund
      • transfers - POST /accounts/{accountId}/transfer
      • cancelled - POST /accounts/{accountId}/cancel


Considerations for Migration

...