1. Home
  2. Bluefort Payments
  3. TAPP for Microsoft Dynamics 365 Business Central
  4. Stripe
  5. Processing and Posting the Cash Receipt Journal for Stripe Payouts

Processing and Posting the Cash Receipt Journal for Stripe Payouts

This article walks through how to record a Stripe payout settlement in Dynamics 365 Business Central as a Cash Receipt Journal using TAPP Stripe. The process can be run manually from the Stripe Payouts list, or automated via Job Queue entries running on a schedule.

Overview

When Stripe settles a payout to your bank account, TAPP Stripe allows you to record that settlement in Business Central as a Cash Receipt Journal. Posting the journal:

  • Creates a Customer Ledger Entry (payment) for each invoice included in the payout.
  • Applies the payment against the relevant open sales invoice, closing it.
  • Posts a Bank Account Ledger Entry for the net amount received.
  • Posts a G/L Entry for any Stripe processing fees deducted from the payout.

This process can be run manually (user-initiated from the Stripe Payouts list) or automatically (via a Job Queue Entry running on a schedule).

Prerequisites

Before creating or posting a Cash Receipt Journal, the following must be configured in TAPP Stripe Parameters:

ParameterDescription
Payout Journal TemplateA Gen. Journal Template of type Cash Receipts. This is the journal batch used to hold payout lines.
Payout Journal Batch NameThe specific batch within the template.
Default Cash Receipt Bank AccountThe BC Bank Account that represents the Stripe settlement bank. If you operate in multiple currencies, you can map a bank account per currency on the bank account setup.
Payout Fees AccountA G/L Account used to record Stripe processing fees.
📝 Note: If any of these fields are blank, the Create Cash Receipt Journal action will display a validation error and stop before creating any lines.

Additionally, each sales invoice that was paid via Stripe must:

  • Exist in Business Central as a posted sales invoice.
  • Be linked to the Stripe payment via the Stripe Payment ID field on the invoice.

Understanding the Journal Structure

For each Stripe payout, the Cash Receipt Journal is created with three types of lines:

Bank Line (One Per Payout)

FieldValue
Account TypeBank Account
Account No.The BC Bank Account mapped to the payout currency
Document No.Stripe Payout ID
AmountNet payout amount (gross charges minus Stripe fees)
Posting DateDate of the balance transaction

Customer Line (One Per Invoice)

FieldValue
Account TypeCustomer
Account No.Bill-to Customer No. from the sales invoice
Document TypePayment
AmountInvoice amount (negated to offset the invoice balance)
Applies-to Doc. TypeInvoice
Applies-to Doc. No.Sales invoice number

Fee Line (One Per Payout, If Fees Exist)

FieldValue
Account TypeG/L Account
Account No.Payout Fees Account from TAPP Stripe Parameters
AmountStripe processing fee amount
📝 Note: For foreign currency payouts, an additional tolerance line may be created to absorb exchange rate differences between the rate recorded on the invoice and the rate at the time Stripe settled the payout. This line posts to the Exchange Rate Tolerance Account configured on the bank account. See the Foreign Currency Payouts section for more detail.

Manual Processing — Step by Step

Step 1 — Sync Stripe Payouts

Before processing, ensure the latest payouts have been retrieved from Stripe.

  1. Open the Stripe Role Centre or navigate to TAPP Stripe → Stripe Payouts.
  2. Use the Get Payouts or Sync action to retrieve payout data from Stripe. This populates the Stripe Payouts and Stripe Balance Transactions tables.
📝 Note: The sync process fetches payouts and their associated balance transactions (charges, refunds, fees) from the Stripe API.

Step 2 — Open the Stripe Payouts List

Navigate to TAPP Stripe → Stripe Payouts. The list displays all payouts across all connected Stripe accounts, sorted by payout creation date (newest first).

Key columns to review:

ColumnDescription
Stripe Account IDWhich Stripe account this payout belongs to.
AmountGross payout amount.
CurrencyPayout currency.
StatusStripe payout status (e.g. paid).
Cash Receipt Jnl. CreatedWhether journal lines have been created in BC.
Cash Receipt Jnl. PostedWhether the journal has been posted.

Select a payout row that shows Cash Receipt Jnl. Created = No and Cash Receipt Jnl. Posted = No.

Step 3 — Create the Cash Receipt Journal

With the payout row selected, go to Actions → Receipts → Create Cash Receipt Journal.

The system will:

  • Validate that all required TAPP Stripe Parameters are configured.
  • Populate Applies-To fields — for each balance transaction (charge) in the payout, the system resolves which posted sales invoice in BC it corresponds to and stamps the Applies-to Doc. No. accordingly.
  • Create journal lines — bank line, customer line(s), and fee line(s) are inserted into the configured journal batch.
  • Set the flag — Cash Receipt Jnl. Created is set to Yes on the payout record.
📝 Note: If creation succeeds, a confirmation message is shown. If any error occurs (e.g. no matching invoice found), the partial lines are deleted and the payout flag remains No, so you can investigate and retry.

Step 4 — Review the Journal Lines

Before posting, review the created lines:

  • With the payout selected, go to Actions → View → View Receipts. This opens the Cash Receipt Journal filtered to the lines for this payout.

Verify that:

  • Each customer line has an Applies-to Doc. No. populated.
  • The amounts balance (the sum of all lines nets to zero).
  • The posting date is correct.
  • The bank account is correct for the payout currency.
💡 Tip: You can edit lines in the journal at this point if corrections are needed. Do not remove the BFT Stripe Payout field value on any line — this is used by the system to identify which lines belong to which payout.

Step 5 — Post the Cash Receipt Journal

Once satisfied with the journal lines, return to the Stripe Payouts list and go to Actions → Receipts → Post Cash Receipt Journal.

On success:

  • Customer Ledger Entries are created and applied to the respective invoices (invoices are closed).
  • Bank Account Ledger Entries are created for the settled amount.
  • G/L Entries are created for the fee amount.
  • The Cash Receipt Jnl. Posted flag is set to Yes on the payout record.
📝 Note: The Post Cash Receipt Journal action is only enabled when Cash Receipt Jnl. Created = Yes and Cash Receipt Jnl. Posted = No.

Automated Processing via Job Queue

To reduce manual effort, TAPP Stripe provides two Job Queue Entries that automate cash receipt journal creation and posting.

📝 Note: Both jobs are installed with a status of On Hold. A system administrator must activate them before they will run.

Auto-Create Cash Receipt Journals

Job Queue Entry name: TAPP Stripe — Auto-Create Cash Receipt Journals

This job processes all eligible payouts for all configured Stripe accounts. A payout is eligible for auto-creation when:

  • The payout has been synced into Business Central.
  • The payout contains charge-type balance transactions.
  • Cash Receipt Jnl. Created = No (journal not yet created).
  • Cash Receipt Jnl. Posted = No.
  • All required TAPP Stripe Parameters are configured.

To activate:

  • Navigate to Administration → Job Queue Entries.
  • Find the entry named TAPP Stripe — Auto-Create Cash Receipt Journals.
  • Set the Status to Ready.
  • Configure the Earliest Start Date/Time and Recurrence (e.g. every hour, or daily at 02:00).

Additionally, enable auto-creation per Stripe account on the Stripe Payout Processing Setup page by setting Create Cash Receipt Journal = Yes for the relevant Stripe Account ID(s).

Auto-Post Cash Receipt Journals

Job Queue Entry name: TAPP Stripe — Auto-Post Cash Receipt Journals

This job posts all Cash Receipt Journals that have been created but not yet posted. A payout is eligible when:

  • Cash Receipt Jnl. Created = Yes.
  • Cash Receipt Jnl. Posted = No.
  • The journal lines exist in the correct template and batch.

To activate:

  • Navigate to Administration → Job Queue Entries.
  • Find the entry named TAPP Stripe — Auto-Post Cash Receipt Journals.
  • Set the Status to Ready and configure the schedule.

Enable auto-posting per Stripe account on the Stripe Payout Processing Setup page by setting Post Cash Receipt Journal = Yes for the relevant Stripe Account ID(s).

⚠️ Important: Auto-posting creates G/L and Customer Ledger Entries that are not easily reversible. Activate this job only after verifying that the auto-creation process is producing accurate journal lines.

For fully automated end-to-end processing, schedule the two jobs to run in sequence:

JobSuggested Time
TAPP Stripe — Auto-Create Cash Receipt Journals02:00
TAPP Stripe — Auto-Post Cash Receipt Journals02:30
💡 Tip: Scheduling the post job 30 minutes after the create job ensures journals are fully created before posting runs. If a payout was not yet ready at 02:00 (e.g. the sync had not yet completed), it will be picked up on the next scheduled cycle.

Payout Status Flags

The following flags on a Stripe Payout record track the journal lifecycle:

FlagMeaning
Cash Receipt Jnl. CreatedWhether the cash receipt journal lines have been written to BC.
Cash Receipt Jnl. PostedWhether the journal has been posted and ledger entries created.
Refund CreatedWhether a refund journal has been created for this payout.
Refund PostedWhether the refund journal has been posted.
Dispute CreatedWhether a dispute journal has been created.
Dispute ProcessedWhether the dispute journal has been posted.
📝 Note: Only payouts with Cash Receipt Jnl. Created = No are eligible for journal creation. Only payouts with Cash Receipt Jnl. Created = Yes and Cash Receipt Jnl. Posted = No are eligible for posting.

Viewing Results After Posting

After posting, you can verify the results from three places:

From the Stripe Payouts List

Select the payout and go to Actions → View → View Receipts. This opens the G/L Registers view filtered to the posting, from which you can drill into the posted ledger entries.

From the Customer Card

Navigate to the customer record and open Customer Ledger Entries. Each invoice paid via this payout will show a closed entry with a corresponding Payment entry. The BFT Stripe Payout field on the ledger entry records the Stripe Payout ID for traceability.

From the Bank Account

Navigate to the BC Bank Account used for the payout and open Bank Account Ledger Entries. The net settlement amount will appear as a posted entry.

Error Handling

During Journal Creation

If an error occurs (e.g. a balance transaction cannot be matched to a BC invoice, or a required setup field is missing):

  • Any partially created journal lines for that payout are deleted automatically.
  • The Cash Receipt Jnl. Created flag remains No.
  • For manual runs, an error message is displayed to the user.
  • For automated runs, the error is logged in the Job Queue Log and optionally in the TAPP Stripe Session Logs. The job continues to the next payout.

The payout will remain eligible for retry — either manually or on the next automated job run — once the underlying issue is resolved.

During Posting

If an error occurs during posting (e.g. a blocked customer, a missing G/L account, or a currency setup issue):

  • The journal lines are not deleted — they remain in the journal batch for investigation.
  • The Cash Receipt Jnl. Posted flag remains No.
  • For manual runs, Business Central displays the standard posting error message.
  • For automated runs, the error is logged in the Job Queue Log and the payout is skipped. The next run will attempt posting again once the issue is resolved.

Foreign Currency Payouts

When a payout currency differs from your BC local currency (LCY), the system handles exchange rate differences automatically:

  • The customer journal line is created using the exchange rate recorded on the original invoice (the rate at invoice posting time).
  • The bank journal line is created using the actual exchange rate at the time Stripe settled the payout.
  • If the two rates differ, a currency tolerance line is inserted to absorb the difference. This line posts to the Exchange Rate Tolerance Account configured on the bank account, or falls back to the Payout Fees Account if no tolerance account is set.
💡 Tip: This ensures the journal balances and the exchange rate difference is recorded to the correct G/L account rather than being silently absorbed into the fees line.

Frequently Asked Questions

Can I process multiple payouts at once using the manual actions?

The manual actions on the Stripe Payouts list page operate on the currently selected row. To process many payouts in bulk without user interaction, use the automated Job Queue entries.

What happens if a sales invoice has already been paid (closed) before the payout is processed?

The Populate Applies-To Fields step will not find an open invoice to apply to. The creation will fail for that balance transaction and the error will be logged. You will need to investigate whether a duplicate payment exists and resolve accordingly.

Can I edit the journal lines before posting?

Yes. After creating the journal, use View Receipts to open the lines in the Cash Receipt Journal. You can edit amounts, posting dates, and account numbers before posting. Do not delete the BFT Stripe Payout field value, as this is used by the system to identify which lines belong to which payout.

What if I accidentally post the wrong journal?

Reversing a posted Cash Receipt Journal follows the standard BC process — navigate to the G/L Register from the View Receipts action and use Reverse Register. Note that this will also reopen the applied invoices. Contact your system administrator if you are unsure.

Can I have the auto-create job run but still post manually?

Yes. You can enable Create Cash Receipt Journal = Yes on the Stripe Payout Processing Setup while leaving Post Cash Receipt Journal = No. The job will create journals automatically, but a user must review and post them manually from the Stripe Payouts list.

Where do I find the Job Queue Log to check for errors?

Navigate to Administration → Job Queue Log Entries and filter by the object ID or description of the TAPP Stripe job entries.

  • Processing Refund Journals in TAPP Stripe Payouts
  • Processing Dispute Journals in TAPP Stripe Payouts
  • TAPP Stripe Parameters
  • Setting Up Stripe Payout Processing (Job Queue)
Updated on August 7, 2026

Was this article helpful?

Related Articles