---
id: object/table/1208
type: object
title: Table 1208 "Direct Debit Collection Entry"
summary: Table 1208 "Direct Debit Collection Entry" in Base Application (Microsoft.Bank.DirectDebit). 23 fields, 9 public procedures, 9 events. Present since at least BC23, still in BC30, changed in BC24, BC27-28.
tier: official
language: en
tags:
  - table
  - base application
versions:
  introduced: null
  last_changed: "28"
  deprecated: null
review:
  state: derived
  by: null
  at: null
  flags: []
generated:
  at: "2026-10-11T00:31:51.816Z"
  pipeline: 0.2.0
  prompts: {}
  input_hash: 4af8c2126a04c3b98851ae273cf73beddc07156d11870ae38dfc007e3a0bf862
evidence:
  - kind: code
    url: https://github.com/microsoft/BCApps/blob/ea08af5ef2d6a9b5c5af4a029288abbe2c883220/src/Layers/W1/BaseApp/Bank/DirectDebit/DirectDebitCollectionEntry.Table.al
    title: src/Layers/W1/BaseApp/Bank/DirectDebit/DirectDebitCollectionEntry.Table.al (releases/29.x)
    date: null
    commit: ea08af5ef2d6a9b5c5af4a029288abbe2c883220
    t: null
    quote: null
links:
  learn:
    - https://learn.microsoft.com/dynamics365/business-central/finance-collect-payments-with-sepa-direct-debit
  objects: []
  features: []
  topics:
    - topic/business-central/business-functionality/finance/manage-payables
    - topic/business-central/business-functionality/finance/manage-receivables
    - topic/business-central/business-functionality/general-business-functionality/exchange-data-electronically/collect-payments-with-sepa-direct-debit
    - topic/business-central/business-functionality/general-business-functionality/exchange-data-electronically/exchange-data
  localizations:
    - localization/es
  videos: []
  posts: []
  guidelines: []
object_type: table
object_id: 1208
name: Direct Debit Collection Entry
namespace: Microsoft.Bank.DirectDebit
app: Base Application
extends: null
first_version: "23"
last_version: "30"
present_in:
  - "23"
  - "24"
  - "25"
  - "26"
  - "27"
  - "28"
  - "29"
  - "30"
changed_in:
  - "24"
  - "27"
  - "28"
source_major: "29"
obsolete: null
countries:
  - es
ms_search_form_ids: []
counts:
  fields: 23
  procedures: 20
  events: 9
  subscribers: 0
relations:
  out: 19
  referenced_by: 1
  pages: 1
  extended_by: 0
  event_subscribers: 0
  calls: 2
  called_by: 0
  implements: 0
---

# Table 1208 "Direct Debit Collection Entry"

> Table 1208 "Direct Debit Collection Entry" in Base Application (Microsoft.Bank.DirectDebit). 23 fields, 9 public procedures, 9 events. Present since at least BC23, still in BC30, changed in BC24, BC27-28.

Base Application · Microsoft.Bank.DirectDebit · BC23-30 · [source at ea08af5e](https://github.com/microsoft/BCApps/blob/ea08af5ef2d6a9b5c5af4a029288abbe2c883220/src/Layers/W1/BaseApp/Bank/DirectDebit/DirectDebitCollectionEntry.Table.al) · facts from BC29

Learn documents this table through its pages: [Page 1208 "Direct Debit Collect. Entries"](../page/1208.md) (1 Learn page).

## Properties

| Property | Value |
|---|---|
| Caption | Direct Debit Collection Entry |
| DataClassification | CustomerContent |

## Fields

Explanation: the field's ToolTip in the code; without one, the ToolTip of a page control bound to the field (marked via the page); without that, its Caption (marked caption) when that differs from the name.

| No. | Name | Type | Explanation | Notes |
|---|---|---|---|---|
| 1 | Direct Debit Collection No. | Integer | — | TableRelation [Table 1207 "Direct Debit Collection"](../table/1207.md) (Direct Debit Collection) |
| 2 | Entry No. | Integer | Specifies the number of the entry, as assigned from the specified number series when the entry was created. |  |
| 3 | Customer No. | Code[20] | Specifies the number of the customer that the direct-debit payment is collected from. | TableRelation [Table 18 "Customer"](../table/18.md) |
| 4 | Applies-to Entry No. | Integer | Specifies the number of the sales invoice that the customer leger entry behind this direct-debit collection entry applies to. | TableRelation [Table 21 "Cust. Ledger Entry"](../table/21.md) ("Cust. Ledger Entry" where("Customer No." = field("Customer No."), "Document Type" = filter(Invoice \| "Finance Charge Memo" \| Reminder), Open = const(true))) |
| 5 | Transfer Date | Date | Specifies the date when the payment will be collected from the customer's bank account. |  |
| 6 | Currency Code | Code[10] | Specifies the currency of the payment amount that is being collected as a direct debit. | TableRelation [Table 4 "Currency"](../table/4.md); not editable |
| 7 | Transfer Amount | Decimal | Specifies the amount that will be collected from the customer's bank account. |  |
| 8 | Transaction ID | Text[35] | Specifies the ID of the direct debit collection. It consist of a number in the SEPA direct-debit message number series and the value in the Applies-to Entry No. field. | not editable |
| 9 | Sequence Type | Option | Specifies if the direct-debit collection entry is the first or the last of a sequence of recurring entries. | OptionCaption: One Off,First,Recurring,Last; not editable |
| 10 | Status | Option | Specifies the status of the direct-debit collection entry. | OptionCaption: New,File Created,Rejected,Posted; not editable |
| 11 | Mandate ID | Code[35] | Specifies the ID of the direct-debit mandate that exists for the direct debit collection in question. | TableRelation [Table 1230 "SEPA Direct Debit Mandate"](../table/1230.md) ("SEPA Direct Debit Mandate".ID where("Customer No." = field("Customer No."))) |
| 12 | Mandate Type of Payment | Option | Specifies if the related direct-debit mandate is created for one or multiple direct debit collections. | FlowField: lookup("SEPA Direct Debit Mandate"."Type of Payment" where(ID = field("Mandate ID"))); OptionCaption: One Off,Recurrent; not editable |
| 13 | Customer Name | Text[100] | Specifies the name of the customer that the direct-debit payment is collected from. | FlowField: lookup(Customer.Name where("No." = field("Customer No."))); not editable |
| 14 | Applies-to Entry Document No. | Code[20] | Specifies the document number on the sales invoice that the customer leger entry behind this direct-debit collection entry applies to. | FlowField: lookup("Cust. Ledger Entry"."Document No." where("Entry No." = field("Applies-to Entry No."))); not editable |
| 15 | Applies-to Entry Description | Text[100] | Specifies the description of the sales invoice that the customer leger entry behind this direct-debit collection entry applies to. | FlowField: lookup("Cust. Ledger Entry".Description where("Entry No." = field("Applies-to Entry No."))); not editable |
| 16 | Applies-to Entry Posting Date | Date | Specifies when the sales invoice that the customer leger entry behind this direct-debit collection entry applies to was posted. | FlowField: lookup("Cust. Ledger Entry"."Posting Date" where("Entry No." = field("Applies-to Entry No."))); not editable |
| 17 | Applies-to Entry Currency Code | Code[10] | Specifies the currency of the sales invoice that the customer leger entry behind this direct-debit collection entry applies to. | TableRelation [Table 4 "Currency"](../table/4.md); FlowField: lookup("Cust. Ledger Entry"."Currency Code" where("Entry No." = field("Applies-to Entry No."))); not editable |
| 18 | Applies-to Entry Amount | Decimal | Specifies the payment amount on the sales invoice that the customer leger entry behind this direct-debit collection entry applies to. | FlowField: sum("Detailed Cust. Ledg. Entry".Amount where("Cust. Ledger Entry No." = field("Applies-to Entry No."), "Entry Type" = filter("Initial Entry" \| "Unrealized Loss" \| "Unrealized Gain" \| "Realized Loss" \| "Realized Gain" \| "Payment Discount" \| "Payment Discount (VAT Excl.)" \| "Payment Discount (VAT Adj...; not editable |
| 19 | Applies-to Entry Rem. Amount | Decimal | Specifies the amount that remains to be paid on the sales invoice that the customer leger entry behind this direct-debit collection entry applies to. | FlowField: sum("Detailed Cust. Ledg. Entry".Amount where("Cust. Ledger Entry No." = field("Applies-to Entry No."))); not editable |
| 20 | Applies-to Entry Open | Boolean | Specifies if the sales invoice that the customer leger entry behind this direct-debit collection entry applies to is open. | FlowField: lookup("Cust. Ledger Entry".Open where("Entry No." = field("Applies-to Entry No."))); not editable |
| 21 | Direct Debit Collection Status | Option | — | FlowField: lookup("Direct Debit Collection".Status where("No." = field("Direct Debit Collection No."))); OptionCaption: New,Canceled,File Created,Posted,Closed |
| 22 | Payment Reference | Code[50] | — | FlowField: lookup("Cust. Ledger Entry"."Payment Reference" where("Entry No." = field("Applies-to Entry No."))); not editable |
| 23 | Message to Recipient | Text[140] | — |  |

## Keys

- Key1: Direct Debit Collection No., Entry No. (clustered)
- Key2: Applies-to Entry No., Status

## Events published

- `OnBeforeCheckSEPA(var DirectDebitCollectionEntry: Record "Direct Debit Collection Entry"; var IsHandled: Boolean)` (integration): Integration event that allows customization of SEPA validation checks.
- `OnBeforeCheckCustLedgerEntryAmountPositive(var CustLedgerEntry: Record "Cust. Ledger Entry"; var IsHandled: Boolean)` (integration): Integration event that allows customization of customer ledger entry amount validation.
- `OnBeforeDocTypeErr(CustLedgerEntry: Record "Cust. Ledger Entry"; var AlllowedDocumentType: Boolean)` (integration): Integration event that allows customization of document type validation logic.
- `OnBeforeExportSEPA(var DirectDebitCollectionEntry: Record "Direct Debit Collection Entry"; var IsHandled: Boolean)` (integration): Integration event that allows customization of SEPA export processing.
- `OnBeforeTransferPKToGenJnlLine(var DirectDebitCollectionEntry: Record "Direct Debit Collection Entry"; var GenJnlLine: Record "Gen. Journal Line"; var IsHandled: Boolean)` (integration): Integration event for customizing primary key transfer to general journal line.
- `OnBeforeValidateTransferAmount(var DirectDebitCollectionEntry: Record "Direct Debit Collection Entry"; var IsHandled: Boolean)` (integration): Integration event that allows customization of transfer amount validation.
- `OnCreateNewOnBeforeInsert(CustLedgerEntry: Record "Cust. Ledger Entry"; var DirectDebitCollectionEntry: Record "Direct Debit Collection Entry")` (integration): Integration event triggered before inserting a new collection entry.
- `OnCreateNewOnAfterInsert(CustLedgerEntry: Record "Cust. Ledger Entry"; var DirectDebitCollectionEntry: Record "Direct Debit Collection Entry")` (integration): Integration event triggered after inserting a new collection entry.
- `OnValidateAppliesToEntryNoOnAfterTransferCustLedgerEntryFields(var DirectDebitCollectionEntry: Record "Direct Debit Collection Entry"; xDirectDebitCollectionEntry: Record "Direct Debit Collection Entry"; CustLedgerEntry: Record "Cust. Ledger Entry")` (integration): Integration event triggered after transferring fields from customer ledger entry during validation.

## Procedures

- `CreateNew(DirectDebitCollectionNo: Integer; CustLedgerEntry: Record "Cust. Ledger Entry")`: Creates a new direct debit collection entry based on a customer ledger entry.
- `DeletePaymentFileErrors()`: Removes payment file errors associated with this collection entry.
- `HasPaymentFileErrors(): Boolean`: Checks if any payment file errors exist for this collection entry.
- `ExportSEPA()`: Initiates SEPA direct debit export process for this collection entry.
- `InsertPaymentFileError(Text: Text)`: Creates a payment file error entry with specified text.
- `InsertPaymentFileErrorWithDetails(ErrorText: Text; AddnlInfo: Text)`: Creates a payment file error entry with additional details.
- `Reject()`: Rejects the collection entry and rolls back the mandate sequence type if applicable.
- `GetAmountInActiveCollections(): Decimal`: Calculates the total amount already allocated to other active collections for the same customer ledger entry.
- `SetTodayAsTransferDateForOverdueEnries()`: Updates transfer dates to today for all overdue entries in the same collection.

Plus 2 local procedures.

## Triggers

OnDelete, OnInsert, OnModify

## Relations

- drill-down page [Page 1208 "Direct Debit Collect. Entries"](../page/1208.md)
- lookup page [Page 1208 "Direct Debit Collect. Entries"](../page/1208.md)
- Direct Debit Collection Status: CalcFormula [Table 1207 "Direct Debit Collection"](../table/1207.md)
- Direct Debit Collection No.: TableRelation [Table 1207 "Direct Debit Collection"](../table/1207.md)
- Mandate Type of Payment: CalcFormula [Table 1230 "SEPA Direct Debit Mandate"](../table/1230.md)
- Mandate ID: TableRelation [Table 1230 "SEPA Direct Debit Mandate"](../table/1230.md)
- Customer Name: CalcFormula [Table 18 "Customer"](../table/18.md)
- Customer No.: TableRelation [Table 18 "Customer"](../table/18.md)
- Applies-to Entry Currency Code: CalcFormula [Table 21 "Cust. Ledger Entry"](../table/21.md)
- Applies-to Entry Description: CalcFormula [Table 21 "Cust. Ledger Entry"](../table/21.md)
- Applies-to Entry Document No.: CalcFormula [Table 21 "Cust. Ledger Entry"](../table/21.md)
- Applies-to Entry Open: CalcFormula [Table 21 "Cust. Ledger Entry"](../table/21.md)
- Applies-to Entry Posting Date: CalcFormula [Table 21 "Cust. Ledger Entry"](../table/21.md)
- Payment Reference: CalcFormula [Table 21 "Cust. Ledger Entry"](../table/21.md)
- Applies-to Entry No.: TableRelation [Table 21 "Cust. Ledger Entry"](../table/21.md)
- Applies-to Entry Amount: CalcFormula [Table 379 "Detailed Cust. Ledg. Entry"](../table/379.md)
- Applies-to Entry Rem. Amount: CalcFormula [Table 379 "Detailed Cust. Ledg. Entry"](../table/379.md)
- Applies-to Entry Currency Code: TableRelation [Table 4 "Currency"](../table/4.md)
- Currency Code: TableRelation [Table 4 "Currency"](../table/4.md)

## Referenced by

1 fields in 1 objects relate to this table (TableRelation or CalcFormula).

- [Table 1207 "Direct Debit Collection"](../table/1207.md): No. of Transfers

## Pages and codeunits on this table

- [Page 1208 "Direct Debit Collect. Entries"](../page/1208.md) (source table)
- [Codeunit 1230 "SEPA DD-Export File"](../codeunit/1230.md) (codeunit runs on it)
- [Codeunit 1232 "SEPA DD-Prepare Source"](../codeunit/1232.md) (codeunit runs on it)
- [Codeunit 1233 "SEPA DD-Check Line"](../codeunit/1233.md) (codeunit runs on it)

## Calls

From the extracted call graph of BC29 (graphify-al on the snapshot checkout): calls whose target is known from a declared type or an `Object::"Name"` argument. Interface dispatch and calls through events are not counted, so the list is not complete.

- [Codeunit 1233 "SEPA DD-Check Line"](../codeunit/1233.md) (2 calls: `CreateNew → (object)`, `SetTodayAsTransferDateForOverdueEnries → (object)`)
- [Codeunit 1230 "SEPA DD-Export File"](../codeunit/1230.md) (1 call: `ExportSEPA → (object)`)

## Across versions

- Present in: BC23-30
- Changed (declaration) in: BC24, BC27-28

## Countries that replace it

[ES](../../localizations/es.md)

Source: AL metadata extracted from the code (names, ids, signatures, properties); no code bodies (D10).

## Ask your agent

Procedure bodies are not stored here (D10). The call sections above are our own, per object, from the BC29 call graph. For a procedure body or the calls of one procedure, ask bc-code-atlas (external, by Stefan Maron, MIT; default corpus w1-28), which the bc-observatory plugin connects: `bcatlas_resolve_node(object_type: "table", object_name: "Direct Debit Collection Entry")`, then `bcatlas_get_procedure_body` or `bcatlas_get_neighbors` on the returned id.
