# Get Reconciliation Analytics

This API endpoint enables fetching a collection of reconciliations performed during a specific month and year. By providing the desired month and year as parameters, the API response narrows down the results to the exact period, facilitating the analysis of financial data and tracking the progress of reconciliation efforts." And also include information about TLCs.

Endpoint: GET /api/v1/analytics/reconciliations
Version: 1.0.0
Security: x-api-key

## Query parameters:

  - `filter[month]` (string)
    Specifies the month for which the reconciliations should be retrieved. Valid values are the names of the months. Must be used in conjunction with filter[year]. Required if neither filter[modifiedBefore] nor filter[modifiedSince] is provided.
    Example: "march"

  - `filter[year]` (integer)
    Specifies the year for which the reconciliations should be retrieved. It should be a four-digit numerical value. Must be used in conjunction with filter[month]. Required if neither filter[modifiedBefore] nor filter[modifiedSince] is provided.
    Example: 2023

  - `filter[modifiedBefore]` (string)
    Sets the cutoff date for retrieving reconciliations, including only those modified before (but not including) the specified date. The date must be in the format YYYY-MM-DD. While filter[modifiedBefore] is required if filter[month] and filter[year] are not provided, it can also be used in conjunction with these filters for more specific queries.
    Example: "2021-01-01"

  - `filter[modifiedSince]` (string)
    Sets the cutoff date for retrieving reconciliations, including only those modified on or after the specified date. The date must be in the format YYYY-MM-DD. While filter[modifiedSince] is required if filter[month] and filter[year] are not provided, it can also be used in conjunction with these filters for more specific queries.
    Example: "2020-12-31"

  - `filter[entityIds]` (string)
    Comma separated entity ids for which the reconciliations should be retrieved.
    Example: "5e94d5b63f557b001420bbe1,5e94d5b63f557b001420bbe2"

  - `filter[journalSource]` (string)
    journalSource for which the reconciliations should be retrieved.
    Example: "SUB_LEDGER"

  - `filter[internalIds]` (string)
    Comma separated gl internalIds for which the reconciliations should be retrieved.
    Example: "123456, 78910"

  - `filter[workflowIds]` (string)
    Comma separated workflow ids for which the reconciliations should be retrieved.
    Example: "5e94d5b63f557b001420baa1,5e94d5b63f557b001420baa2"

  - `page[size]` (integer)
    The number of items to return. If not specified, the API will return a default of 30,000 items, which is the maximum value.
    Example: 12000

  - `page[cursor]` (string)
    Pagination cursor that indicates the starting position for the next set of items
    Example: "5e94d5b63f557b001420bbe3"

  - `allowRedirect` (boolean)
    If set to true, the API will return a 303 redirect response if the response payload is too large. The field body.data.url will include the URL to the actual resource.
    Example: true

## Response 200 fields (application/json):

  - `data` (array)
    Array of Reconciliation Analytics

  - `data._id` (string)
    Id of reconciliation
    Example: "5e94d5b63f557b001420bbe3"

  - `data.entity` (object)

  - `data.entity._id` (string)
    Id of entity
    Example: "5e94d5b63f557b001420bbe2"

  - `data.entity.name` (string)
    Name of entity
    Example: "John Smith's company"

  - `data.entity.workflow` (object)
    Workflow of entity

  - `data.entity.workflow._id` (string)
    Id of workflow
    Example: "5e94d5b63f557b001420bbe1"

  - `data.entity.workflow.name` (string)
    Name of workflow
    Example: "Close"

  - `data.entity.details` (string)
    User-provided details
    Example: "Client ID: 123ABC"

  - `data.folder` (object)

  - `data.folder._id` (string)
    Id of folder
    Example: "5e94d5b63f557b001420bbe4"

  - `data.folder.name` (string)
    Name of folder
    Example: "Accounts Receivable"

  - `data.frequency` (string)
    Enum: "Non-Recurring", "Monthly", "Quarterly", "Annual", "Custom"

  - `data.frequencyMonths` (array)
    Example: ["june"]

  - `data.threshold` (object)

  - `data.threshold.rules` (array)
    Rules for threshold

  - `data.threshold.rules.type` (string)
    Type of rule
    Example: "fixed"

  - `data.threshold.rules.value` (number)
    Numeric value of rule
    Example: 1

  - `data.threshold.operator` (string)
    Operator for threshold
    Example: "or"

  - `data.threshold.isDefault` (boolean)
    Indicates if threshold is default
    Example: true

  - `data.spreadsheet` (object)

  - `data.spreadsheet.link` (string)
    Link to supporting document
    Example: "https://share.system.floqast.app/share_service/v1/folders/661c582d7ea90b6c8a246438/files/1503416963754"

  - `data.type` (string)
    Enum: "SINGLE", "GROUPED"

  - `data.name` (string)
    Name of reconciliation
    Example: "1200 Accounts Receivable"

  - `data.sourceBalance` (string)
    Trial balance or reconciled balance
    Example: "30000"

  - `data.itemStatus` (string)
    Enum: "On Track", "Ready for Review", "Late (Preparer)", "Late (Reviewer)", "Complete (On Time)", "Complete (Prepared Late)", "Complete (Reviewed Late)", "Complete (Prepared & Reviewed Late)", "Out of Balance", "Redo"

  - `data.lastBalanceChange` (string)
    Date when reconciliation balance was last changed
    Example: "2021-01-01T00:00:00.000Z"

  - `data.glBalance` (string)
    Balance per general ledger provider
    Example: "39.8"

  - `data.gl` (object)

  - `data.gl.internalId` (string)
    Internal id of general ledger
    Example: "1234"

  - `data.gl.internalPeriod` (string)
    Internal period of general ledger
    Example: "334"

  - `data.gl.provider` (string)
    Provider of general ledger
    Enum: "TB", "NETSUITE", "INTACCT", "QBO", "MSDYNAMICS", "SAP", "XERO"

  - `data.gl.TB` (object)
    Populated if provider is TB

  - `data.gl.TB.internalPeriod` (string)
    Example: "334"

  - `data.gl.NETSUITE` (object)
    Populated if provider is NETSUITE

  - `data.gl.NETSUITE.internalId` (string)
    Example: "1234"

  - `data.gl.NETSUITE.internalPeriod` (string)
    Example: "334"

  - `data.gl.NETSUITE.parentCompany` (string)
    Example: "3"

  - `data.gl.NETSUITE.reportingBookId` (string)
    Example: "4"

  - `data.gl.NETSUITE.subsidiaries` (array)
    An empty array means the reconciliation is not filtered by subsidiary. All subsidiaries are required

  - `data.gl.NETSUITE.subsidiaries.name` (string)
    Example: "name"

  - `data.gl.NETSUITE.subsidiaries.internalId` (string)
    Example: "334"

  - `data.gl.INTACCT` (object)
    Populated if provider is INTACCT

  - `data.gl.INTACCT.internalId` (string)
    Example: "1234"

  - `data.gl.INTACCT.internalPeriod` (string)
    Example: "334"

  - `data.gl.INTACCT.reportingBookId` (string)
    Example: "4"

  - `data.gl.INTACCT.adjustmentBookIds` (array)
    Example: ["1234"]

  - `data.gl.INTACCT.excludeReportingBook` (boolean)
    Example: true

  - `data.gl.INTACCT.locations` (array)

  - `data.gl.INTACCT.locations.internalId` (string)
    Example: "1234"

  - `data.gl.INTACCT.locations.name` (string)
    Example: "germany"

  - `data.gl.INTACCT.locations.parentId` (string)
    Example: "1234"

  - `data.gl.INTACCT.locations.excludeChildLocations` (boolean)
    Example: true

  - `data.gl.QBO` (object)
    Populated if provider is QBO

  - `data.gl.QBO.internalPeriod` (string)
    Example: "334"

  - `data.gl.QBO.internalId` (string)
    Example: "1234"

  - `data.gl.MSDYNAMICS` (object)
    Populated if provider is MSDYNAMICS

  - `data.gl.MSDYNAMICS.internalPeriod` (string)
    Example: "334"

  - `data.gl.MSDYNAMICS.internalId` (string)
    Example: "1234"

  - `data.gl.SAP` (object)
    Populated if provider is SAP

  - `data.gl.SAP.internalPeriod` (string)
    Example: "334"

  - `data.gl.SAP.internalId` (string)
    Example: "1234"

  - `data.gl.SAP.currencyType` (string)
    Example: "COMPANY"

  - `data.gl.SAP.ledger` (string)
    Example: "0L"

  - `data.gl.SAP.companyCodes` (array)
    Example: ["1234"]

  - `data.gl.XERO` (object)
    Populated if provider is XERO

  - `data.gl.XERO.internalPeriod` (string)
    Example: "334"

  - `data.gl.XERO.internalId` (string)
    Example: "1234"

  - `data.subledger` (object)

  - `data.subledger.balance` (string)
    Example: "39.8"

  - `data.journalSource` (string)
    Indicates whether the reconciliation uses general ledger or subledger balance to reconcile
    Enum: "GENERAL_LEDGER", "SUB_LEDGER"

  - `data.difference` (string)
    gl balance - source balance - reconciling items
    Example: "-149964.2"

  - `data.currency` (object)

  - `data.currency.code` (string)
    Currency code
    Example: "USD"

  - `data.currency.symbol` (string)
    Currency symbol
    Example: "$"

  - `data.currency.name` (string)
    Currency name
    Example: "US Dollar"

  - `data.currency.decimalDigits` (integer)
    Number of decimal digits
    Example: 2

  - `data.reconcilingItems` (object)

  - `data.reconcilingItems.sumTotal` (integer)
    Example: 10

  - `data.reconcilingItems.items` (array)

  - `data.reconcilingItems.items.balance` (integer)
    Id of reconciled item
    Example: 10

  - `data.reconcilingItems.items.description` (string)
    Example: "Reconciled item description"

  - `data.reconcilingItems.items.itemDate` (string)
    Example: "2021-01-01T00:00:00.000Z"

  - `data.reviewNotes` (array)

  - `data.reviewNotes.author` (object)

  - `data.reviewNotes.author.name` (object)

  - `data.reviewNotes.author.name.first` (string)
    Example: "John"

  - `data.reviewNotes.author.name.last` (string)
    Example: "Smith"

  - `data.reviewNotes.author.email` (string)
    User email address
    Example: "john.smith@example.com"

  - `data.reviewNotes.assignedTo` (object)

  - `data.reviewNotes.message` (string)
    Message of note

  - `data.reviewNotes.created` (string)
    Date when comment was created
    Example: "2021-01-01T00:00:00.000Z"

  - `data.reviewNotes.comments` (array)

  - `data.reviewNotes.comments.author` (object)

  - `data.reviewNotes.comments.message` (string)
    Message of comment

  - `data.reviewNotes.comments.created` (string)
    Date when comment was created
    Example: "2021-01-01T00:00:00.000Z"

  - `data.signatures` (array)

  - `data.signatures.assignedToUser` (object)

  - `data.signatures.assignedToGroup` (object)

  - `data.signatures.assignedToGroup.id` (string)
    Example: "5e94d5b63f557b001420bbe4"

  - `data.signatures.assignedToGroup.name` (string)
    Example: "Group Name"

  - `data.signatures.signedBy` (object)

  - `data.signatures.signedDate` (string)
    Date when reconciliation was signed

  - `data.signatures.dueDate` (string)
    Date when reconciliation is due

  - `data.signatures.estimatedTimeMinutes` (integer)
    Estimated completion time (minutes)
    Example: 90

  - `data.signatures.group` (string)
    Enum: "preparer", "reviewer", "unassigned"

  - `data.accounts` (array)
    Accounts is only used if the type is GROUPED. Otherwise, it is an empty array

  - `data.accounts.name` (string)
    Name of reconciliation
    Example: "1200 Accounts Receivable"

  - `data.accounts.identifier` (string)
    Account identifier
    Example: "0001"

  - `data.accounts.sourceBalance` (string)
    Trial balance or reconciled balance
    Example: "30000"

  - `data.accounts.glBalance` (string)
    Balance per general ledger provider
    Example: "39.8"

  - `data.accounts.reconcilingItems` (object)

  - `data.accounts.difference` (string)
    gl balance - source balance - reconciling items
    Example: "-149964.2"

  - `data.tags` (array)

  - `data.tags.name` (string)
    Name of tag
    Example: "non_close"

  - `data.updatedAt` (string)
    Date when reconciliation was last updated
    Example: "2021-01-01T00:00:00.000Z"

  - `data.period` (object)

  - `data.period.month` (string)
    Month of period
    Example: "december"

  - `data.period.year` (string)
    Year of period
    Example: "2023"

  - `links` (object)

  - `links.self` (string)
    Link to self
    Example: "/api/v1/analytics/reconciliations?filter[month]=march&filter[year]=2023&page[size]=1000&page[cursor]=5e94d5b63f557b001420bbe3"

  - `links.next` (string)
    Pagination link pointing to the next page
    Example: "/api/v1/analytics/reconciliations?filter[month]=march&filter[year]=2023&page[size]=1000&page[cursor]=63b88f2cb1f05200179e7857"

## Response 303 fields (application/json):

  - `data` (object)

  - `data.url` (string)
    The URL to the new location of the resource.

## Response 400 fields (application/json):

  - `message` (object)
    Reason(s) for the errors related to incorrect query keys or values that are out of bound

  - `message.errors` (array)

  - `message.errors.field` (string)
    The field that caused the error
    Example: "filter[month]"

  - `message.errors.message` (string)
    The error message
    Example: "filter[month] is required"

  - `name` (string)
    BadRequest
    Example: "BadRequest"

  - `status` (integer)
    The HTTP status code.
    Example: 400

## Response 401 fields (application/json):

  - `message` (string)
    Reason for the error such as incorrect service access, malformed, expired or deactivated token.
    Example: "Invalid token"

  - `name` (string)
    Unauthorized
    Example: "Unauthorized"

  - `status` (integer)
    The HTTP status code.
    Example: 401

## Response 413 fields (application/json):

  - `message` (string)
    Reason for the error related to the payload size
    Example: "Response size is greater than 1MB"

  - `name` (string)
    PayloadTooLarge
    Example: "PayloadTooLarge"

  - `status` (integer)
    The HTTP status code.
    Example: 413


