In order to determine why this has happened, it is important to visualize all the steps that a transaction undergoes.
  1. An online user submits a donation, event registration, membership, or form transaction.
  2. Blackbaud Payment Service (BBPS) does an initial address and data formatting check along with data encryption necessary for security compliance.
  3. The transaction data, referred to as XML data, is instantly written to the sub-table [ 'dbo.DonationTransactions' ] inside the NetCommunity database. 
    Note: The XML data is written to this sub-table whether or not the transaction is eventually approved or declined by the merchant account. 
  4. The transaction is sent to the merchant account gateway for verification. 
  5. The NetCommunity webserver waits 90 seconds for an approval or decline response from the merchant account gateway.  
  6. If the merchant account reports an approval response, then the XML data is written to the table, [ 'dbo.Transactions' ].
    Note: Unlike with the [ 'dbo.DonationTransactions' ] sub-table from step 2, XML transaction data is only written to this table if an approval code is issued by the merchant account within 90 seconds of the request. 
  7. The donor is now served up the confirmation screen, and an acknowledgement email is triggered to be sent to the donor.
  8. When you open the NetCommunity plugin within Raiser's Edge, the XML data for this transaction is sent over to RE and the transaction appears for you to process into a Raiser's Edge batch. 

If the XML data is written to [ 'dbo.XXXXXXTransactions' ] table from step 2., but it was not written to [ 'dbo.Transactions' ] from step 6, this would indicate that the NetCommunity web server never received an approval code from the merchant account. 

If a user clicks stop, refreshes or closes their browser the donation may appear in the merchant account but not in Blackbaud NetCommunity. This is because the merchant account is contacted before the donation is recorded in the Blackbaud NetCommunity database.