Skip to content
Developer home

Duplicate Transactions

  Less than to read

When a Transaction Import request is initiated, Provider API (PAPI) will use the date range of the transactions provided within the Transaction file. Then check Banking Service for each Bank Account within the import and report back the number of transactions within the given range.

The purpose of this is to highlight the number of potential duplicate transactions on each day, as a warning (not an error). The user can still confirm the transactions. However, this provides them with the opportunity to address any potential duplicate transactions and remove them from their Transaction Import file, or proceed to the /confirm endpoint.

Potential duplicate transactions example

Potential duplicate transactions will show on the Transaction Import object (via GET), within the errorDetails array as a ‘warn’.

{
    _id: "11111-00000-00000-00000-22222",
    companyId: "aaaaa-00000-00000-00000-bbbbb",
    organisationId: "ccccc-12345-00000-00000-ddddd",
    bankId: "11111-22222-33333-44444-55555",
    fileFormat: "CAMT053",
    fileName: "april_imports.CAMT053",
    fileUploaded: true,
    description: "John Doe - Uploading transactions for the last 2 weeks of April 2020",
    status: "complete",
    dateStyle: "littleEndian",
    apiType: "multi",
        bankAccounts: [
            {
                accountIdentifier: "SE376000000000048112451",
                id: "1ce96c9c-07ed-418f-a6cb-eefa57c6579a",
                transactionSign: "original",
                countryCode: "GBR",
                bankIdentifier: ""
            }
        ],
    statusMonitor: {
        pollAttempts: 4,
        pollFirstAttempt: "2021-01-21T10:13:22Z"
        pollLastAttempt: "2021-01-21T12:25:36Z"
    },
    s3FilePath: "test/aaaaa-00000-00000-00000-bbbbb/11111-00000-00000-00000-22222",
    statement: {
        id: "aaaaa-bbbbb-ccccc-ddddd-eeeee",
        summary: {
            transactionCount: 370,
            transactionDebitSum: 2698,
            transactionCreditSum: 1675,
            transactionRangeStartDate: "2020-02-18T10:13:22Z",
            transactionRangeEndDate: "2020-12-23T13:22:19Z",
        }
    },
    errorDetails: [
        {
            severity: 'warn',
            details: {
                '2020-03-11': 20,
                '2019-01-01': 3
            },
            code: 'PossibleDuplicatedTransactions',
            message: 'One or more transactions matching imported transaction dates were found on your account',
            target: 1ce96c9c-07ed-418f-a6cb-eefa57c6579a
        }
    ]
}

In the above example, the errorDetails section shows that the bank account provided for this Transaction import, already has 20 transactions on 2020-03-11 and 3 transactions on 2019-01-01. These dates are within the bounds of the uploaded transaction file, and have therefore been output as potential duplicates for the given bank account.