---
id: object/table/60
type: object
title: Table 60 "Document Sending Profile"
summary: Table 60 "Document Sending Profile" in Base Application (Microsoft.Foundation.Reporting). 15 fields, 26 public procedures, 26 events. Present since at least BC23, still in BC30, changed in BC24, BC27-29.
tier: official
language: en
tags:
  - table
  - base application
versions:
  introduced: null
  last_changed: "29"
  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: 539ad822654db5ec16f12f3e8434620e90a6f2bad736bee3d37eb712caa506c0
evidence:
  - kind: code
    url: https://github.com/microsoft/BCApps/blob/ea08af5ef2d6a9b5c5af4a029288abbe2c883220/src/Layers/W1/BaseApp/Foundation/Reporting/DocumentSendingProfile.Table.al
    title: src/Layers/W1/BaseApp/Foundation/Reporting/DocumentSendingProfile.Table.al (releases/29.x)
    date: null
    commit: ea08af5ef2d6a9b5c5af4a029288abbe2c883220
    t: null
    quote: null
links:
  learn:
    - https://learn.microsoft.com/dynamics365/business-central/finance-how-setup-edocuments-external
    - https://learn.microsoft.com/dynamics365/business-central/finance-how-setup-edocuments
    - https://learn.microsoft.com/dynamics365/business-central/LocalFunctionality/Denmark/how-to-edocuments-nemhadel
    - https://learn.microsoft.com/dynamics365/business-central/LocalFunctionality/Norway/ehf-electronic-invoicing-in-norway
  objects: []
  features: []
  topics:
    - topic/business-central/business-functionality/finance/set-up-and-use-e-documents
    - topic/business-central/business-functionality/local-functionality/norway/banking-and-payments
  localizations: []
  videos: []
  posts: []
  guidelines: []
object_type: table
object_id: 60
name: Document Sending Profile
namespace: Microsoft.Foundation.Reporting
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"
  - "29"
source_major: "29"
obsolete: null
countries: []
ms_search_form_ids: []
counts:
  fields: 15
  procedures: 67
  events: 26
  subscribers: 0
relations:
  out: 4
  referenced_by: 7
  pages: 4
  extended_by: 1
  event_subscribers: 5
  calls: 9
  called_by: 0
  implements: 0
---

# Table 60 "Document Sending Profile"

> Table 60 "Document Sending Profile" in Base Application (Microsoft.Foundation.Reporting). 15 fields, 26 public procedures, 26 events. Present since at least BC23, still in BC30, changed in BC24, BC27-29.

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

Learn documents this table through its pages: [Page 359 "Document Sending Profiles"](../page/359.md) (4 Learn pages), [Page 360 "Document Sending Profile"](../page/360.md) (4).

## Properties

| Property | Value |
|---|---|
| Caption | Document Sending Profile |
| 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 | Code | Code[20] | Specifies a code to identify the document sending method in the system. | NotBlank |
| 2 | Description | Text[100] | Specifies the document sending format. |  |
| 10 | Printer | Option | Specifies if and how the document is printed when you choose the Post and Send button. If you choose the Yes (Prompt for Settings) option, the document is printed according to settings that you must make on the printer setup dialog. | OptionCaption: No,Yes (Prompt for Settings),Yes (Use Default Settings) |
| 11 | E-Mail | Option | Specifies if and how the document is attached as a PDF file to an email to the involved customer when you choose the Post and Send button. If you choose the Yes (Prompt for Settings) option, the document is attached to an email according to settings that you must make in the Send Email window. | OptionCaption: No,Yes (Prompt for Settings),Yes (Use Default Settings) |
| 12 | E-Mail Attachment | Enum "Document Sending Profile Attachment Type" | Specifies the type of file to attach. | enum [Enum 63 "Document Sending Profile Attachment Type"](../enum/63.md) |
| 13 | E-Mail Format | Code[20] | Specifies how customers are set up with their preferred method of sending sales documents. | TableRelation [Table 61 "Electronic Document Format"](../table/61.md) ("Electronic Document Format".Code) |
| 15 | Disk | Enum "Doc. Sending Profile Disk" | Specify if the document is saved as a PDF file when you choose the Post and Send button. | enum [Enum 65 "Doc. Sending Profile Disk"](../enum/65.md) |
| 16 | Disk Format | Code[20] | Specifies the format of the electronic document. | TableRelation [Table 61 "Electronic Document Format"](../table/61.md) ("Electronic Document Format".Code) |
| 20 | Electronic Document | Enum "Doc. Sending Profile Elec.Doc." | Specifies if the document is sent as an electronic document that the customer can import into their system when you choose the Post and Send button. To use this option, you must also fill the Electronic Format field. Alternatively, the file can be saved to disk. | enum [Enum 64 "Doc. Sending Profile Elec.Doc."](../enum/64.md) |
| 21 | Electronic Format | Code[20] | Specifies which format to use for electronic document sending. You must fill this field if you selected the Silent option in the Electronic Document field. | TableRelation [Table 61 "Electronic Document Format"](../table/61.md) ("Electronic Document Format".Code) |
| 30 | Default | Boolean | Specifies if this document sending method will be used as the default method for all customers. |  |
| 50 | Send To | Enum "Doc. Sending Profile Send To" | — | enum [Enum 66 "Doc. Sending Profile Send To"](../enum/66.md) |
| 51 | Usage | Enum "Document Sending Profile Usage" | — | enum [Enum 62 "Document Sending Profile Usage"](../enum/62.md) |
| 52 | One Related Party Selected | Boolean | — |  |
| 60 | Combine Email Documents | Boolean | Merge selected documents into a single PDF file when you send the documents by email or print them. For example, this reduces the number of documents the recipient must process. |  |

## Keys

- Key1: Code (clustered)

## Events published

- `OnAfterSend(ReportUsage: Integer; RecordVariant: Variant; DocNo: Code[20]; ToCust: Code[20]; DocName: Text[150]; CustomerFieldNo: Integer; DocumentNoFieldNo: Integer; DocumentSendingProfile: Record "Document Sending Profile")` (integration)
  - subscribers: [Codeunit 6103 "E-Document Subscribers"](../codeunit/6103.md) OnAfterSendEDocument
- `OnAfterSendCustomerRecords(ReportUsage: Integer; RecordVariant: Variant; DocName: Text[150]; CustomerNo: Code[20]; DocumentNo: Code[20]; CustomerFieldNo: Integer; DocumentFieldNo: Integer)` (integration)
- `OnAfterSendVendor(ReportUsage: Integer; RecordVariant: Variant; DocNo: Code[20]; ToVendor: Code[20]; DocName: Text[150]; VendorNoFieldNo: Integer; DocumentNoFieldNo: Integer; DocumentSendingProfile: Record "Document Sending Profile")` (integration)
  - subscribers: [Codeunit 6103 "E-Document Subscribers"](../codeunit/6103.md) OnAfterSendVendorEDocument
- `OnAfterSendToEMail(var DocumentSendingProfile: Record "Document Sending Profile"; ReportUsage: Enum "Report Selection Usage"; RecordVariant: Variant; DocNo: Code[20]; DocName: Text[150]; ToCust: Code[20]; DocNoFieldNo: Integer; ShowDialog: Boolean)` (integration)
  - subscribers: [Codeunit 6103 "E-Document Subscribers"](../codeunit/6103.md) OnAfterSendToEMailEDocument
- `OnAfterSendToEmailVendor(var DocumentSendingProfile: Record "Document Sending Profile"; ReportUsage: Enum "Report Selection Usage"; RecordVariant: Variant; DocNo: Code[20]; DocName: Text[150]; ToVendor: Code[20]; VendorNoFieldNo: Integer; ShowDialog: Boolean)` (integration)
- `OnBeforeCheckShowProfileSelectionMethodDialog(var ProfileSelectionMethod: Option ConfirmDefault,ConfirmPerEach,UseDefault; AccountNo: Code[20]; IsCustomer: Boolean; var Result: Boolean; var IsHandled: Boolean)` (integration)
- `OnBeforeGetDefaultSendingProfileForCustomerFromLookup(CustomerNo: Code[20]; var DocumentSendingProfile: Record "Document Sending Profile"; var IsHandled: Boolean)` (integration)
- `OnBeforeGetDefaultSendingProfileForVendorFromLookup(VendorNo: Code[20]; var DocumentSendingProfile: Record "Document Sending Profile"; var IsHandled: Boolean)` (integration)
- `OnBeforeGetRecordAsText(DocumentSendingProfile: Record "Document Sending Profile"; var RecordAsText: Text; var Handled: Boolean)` (integration)
- `OnBeforeOnDelete(DocumentSendingProfile: Record "Document Sending Profile"; var IsHandled: Boolean)` (integration)
- `OnBeforeSend(ReportUsage: Integer; RecordVariant: Variant; DocNo: Code[20]; ToCust: Code[20]; DocName: Text[150]; CustomerFieldNo: Integer; DocumentNoFieldNo: Integer; var IsHandled: Boolean)` (integration)
- `OnBeforeSendCustomerRecords(ReportUsage: Integer; RecordVariant: Variant; DocName: Text[150]; CustomerNo: Code[20]; DocumentNo: Code[20]; CustomerFieldNo: Integer; DocumentFieldNo: Integer; var Handled: Boolean)` (integration)
- `OnBeforeSendVendor(ReportUsage: Integer; RecordVariant: Variant; DocNo: Code[20]; ToVendor: Code[20]; DocName: Text[150]; VendorNoFieldNo: Integer; DocumentNoFieldNo: Integer; var IsHandled: Boolean)` (integration)
- `OnBeforeSendVendorRecords(ReportUsage: Integer; RecordVariant: Variant; DocName: Text[150]; VendorNo: Code[20]; DocumentNo: Code[20]; VendorFieldNo: Integer; DocumentFieldNo: Integer; var Handled: Boolean)` (integration)
- `OnBeforeSendToDisk(ReportUsage: Integer; RecordVariant: Variant; DocNo: Code[20]; DocName: Text; ToCust: Code[20]; var IsHandled: Boolean)` (integration)
- `OnBeforeTrySendToPrinter(ReportUsage: Integer; RecordVariant: Variant; CustomerFieldNo: Integer; ShowDialog: Boolean; var Handled: Boolean)` (integration)
- `OnBeforeTrySendToEMail(ReportUsage: Integer; RecordVariant: Variant; DocumentNoFieldNo: Integer; DocName: Text[150]; CustomerFieldNo: Integer; var ShowDialog: Boolean; var Handled: Boolean; var IsCustomer: Boolean; var DocumentSendingProfile: Record "Document Sending Profile")` (integration)
- `OnCheckElectronicSendingEnabled(var ExchServiceEnabled: Boolean)` (integration)
  - subscribers: [Codeunit 6103 "E-Document Subscribers"](../codeunit/6103.md) OnCheckElectronicSendingEnabled
- `OnGetDocumentName(ReportUsage: Enum "Report Selection Usage"; var DocumentName: Text[150])` (integration)
- `OnGetDefaultOnBeforeDocumentSendingProfileInsert(var DocumentSendingProfile: Record "Document Sending Profile")` (integration)
- `OnSendCustomerRecordsOnBeforeLookupProfile(ReportUsage: Integer; RecordVariant: Variant; CustomerNo: Code[20]; var RecRefToSend: RecordRef; SingleCustomerSelected: Boolean; var ShowDialog: Boolean)` (integration)
- `OnSendVendorRecordsOnBeforeLookupProfile(ReportUsage: Integer; RecordVariant: Variant; VendorNo: Code[20]; var RecRefToSend: RecordRef; SingleVendorSelected: Boolean; var ShowDialog: Boolean)` (integration)
- `OnBeforeVerifySelectedOptionsValid(var DocumentSendingProfile: Record "Document Sending Profile"; var IsHandled: Boolean)` (integration)
- `OnAfterGetRecordAsText(DocumentSendingProfile: Record "Document Sending Profile"; var RecordAsText: Text; RecordAsTextFormatterTxt: Text; FieldCaptionContentFormatterTxt: Text)` (integration)
- `OnBeforeSendToPrinter(var DocumentSendingProfile: Record "Document Sending Profile"; var ReportSelections: Record "Report Selections"; RecordVariant: Variant)` (integration)
- `OnSendWithReportDistributionManagement(var DocumentSendingProfile: Record "Document Sending Profile"; var SendWithReportDistributionManagement: Boolean)` (integration)
  - subscribers: [Codeunit 6103 "E-Document Subscribers"](../codeunit/6103.md) OnSendWithReportDistributionManagementDisableIfEDocument

## Procedures

- `GetDefaultForCustomer(CustomerNo: Code[20]; var DocumentSendingProfile: Record "Document Sending Profile")`
- `GetDefaultForVendor(VendorNo: Code[20]; var DocumentSendingProfile: Record "Document Sending Profile")`
- `GetDefault(var DefaultDocumentSendingProfile: Record "Document Sending Profile")`
- `GetRecordAsText(): Text`
- `WillUserBePrompted(): Boolean`
- `SetDocumentUsage(DocumentVariant: Variant)`
- `VerifySelectedOptionsValid()`
- `LookupProfile(CustNo: Code[20]; Multiselection: Boolean; ShowDialog: Boolean): Boolean`
- `LookUpProfileVendor(VendorNo: Code[20]; Multiselection: Boolean; ShowDialog: Boolean): Boolean`
- `SendCustomerRecords(ReportUsage: Integer; RecordVariant: Variant; DocName: Text[150]; CustomerNo: Code[20]; DocumentNo: Code[20]; CustomerFieldNo: Integer; DocumentFieldNo: Integer)`
- `SendVendorRecords(ReportUsage: Integer; RecordVariant: Variant; DocName: Text[150]; VendorNo: Code[20]; DocumentNo: Code[20]; VendorFieldNo: Integer; DocumentFieldNo: Integer)`
- `Send(ReportUsage: Integer; RecordVariant: Variant; DocNo: Code[20]; ToCust: Code[20]; DocName: Text[150]; CustomerFieldNo: Integer; DocumentNoFieldNo: Integer)`
- `SendVendor(ReportUsage: Integer; RecordVariant: Variant; DocNo: Code[20]; ToVendor: Code[20]; DocName: Text[150]; VendorNoFieldNo: Integer; DocumentNoFieldNo: Integer)`
- `TrySendToVAN(RecordVariant: Variant)`
- `TrySendToPrinter(ReportUsage: Integer; RecordVariant: Variant; CustomerFieldNo: Integer; ShowDialog: Boolean)`
- `TrySendToPrinterVendor(ReportUsage: Integer; RecordVariant: Variant; VendorNoFieldNo: Integer; ShowDialog: Boolean)`
- `TrySendToEMail(ReportUsage: Integer; RecordVariant: Variant; DocumentNoFieldNo: Integer; DocName: Text[150]; CustomerFieldNo: Integer; ShowDialog: Boolean)`
- `TrySendToEMailGroupedMultipleSelection(ReportUsage: Enum "Report Selection Usage"; RecordVariant: Variant; DocumentNoFieldNo: Integer; DocName: Text[150]; CustomerVendorFieldNo: Integer; IsCustomer: Boolean)`
- `TrySendToDisk(ReportUsage: Integer; RecordVariant: Variant; DocNo: Code[20]; DocName: Text[150]; ToCust: Code[20])`
- `SendToVAN(RecordVariant: Variant)`
- `SendToPrinter(ReportUsage: Enum "Report Selection Usage"; RecordVariant: Variant; CustomerNoFieldNo: Integer)`
- `SendToDisk(ReportUsage: Enum "Report Selection Usage"; RecordVariant: Variant; DocNo: Code[20]; DocName: Text; ToCust: Code[20])`
- `GetOfficeAddinDefault(var TempDocumentSendingProfile: Record "Document Sending Profile" temporary; CanAttach: Boolean)`
- `ProfileSelectionMethodDialog(var ProfileSelectionMethod: Option ConfirmDefault,ConfirmPerEach,UseDefault; IsCustomer: Boolean): Boolean`
- `IsSingleRecordSelected(RecordVariant: Variant; CVNo: Code[20]; CVFieldNo: Integer): Boolean` (protected)
- `CheckElectronicSendingEnabled()`

Plus 15 local procedures.

## Triggers

OnDelete, OnInsert

## Relations

- lookup page [Page 359 "Document Sending Profiles"](../page/359.md)
- Disk Format: TableRelation [Table 61 "Electronic Document Format"](../table/61.md)
- E-Mail Format: TableRelation [Table 61 "Electronic Document Format"](../table/61.md)
- Electronic Format: TableRelation [Table 61 "Electronic Document Format"](../table/61.md)

## Referenced by

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

- [Table 1381 "Customer Templ."](../table/1381.md): Document Sending Profile
- [Table 1383 "Vendor Templ."](../table/1383.md): Document Sending Profile
- [Table 18 "Customer"](../table/18.md): Document Sending Profile
- [Table 23 "Vendor"](../table/23.md): Document Sending Profile
- [Table 6121 "E-Document"](../table/6121.md): Document Sending Profile
- [Table 62 "Record Export Buffer"](../table/62.md): Document Sending Profile
- [Table extension 6102 "E-Doc. Location"](../tableextension/6102.md): Transfer Doc. Sending Profile

## Pages and codeunits on this table

- [Page 359 "Document Sending Profiles"](../page/359.md) (source table)
- [Page 360 "Document Sending Profile"](../page/360.md) (source table)
- [Page 364 "Select Sending Options"](../page/364.md) (source table)
- [Page 365 "Post and Send Confirmation"](../page/365.md) (source table)

## Extended by

- [Table extension 6100 "E-Document Sending Profile"](../tableextension/6100.md)

## 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 452 "Report Distribution Management"](../codeunit/452.md) (10 calls: `SendToDisk → CreateOrAppendZipFile`, `SendToDisk → SaveFileOnClient`, `SendToDiskVendor → CreateOrAppendZipFile`, …)
- [Codeunit 1630 "Office Management"](../codeunit/1630.md) (4 calls: `LookupProfile → AttachAvailable`, `LookupProfile → IsAvailable`, `LookUpProfileVendor → AttachAvailable`, …)
- [Codeunit 425 "Data Compression"](../codeunit/425.md) (4 calls: `SaveZipArchiveToBLOB → CloseZipArchive`, `SaveZipArchiveToBLOB → SaveZipArchive`, `SendToEMail → SaveZipArchive`, …)
- [Codeunit 4100 "Temp Blob"](../codeunit/4100.md) (3 calls: `SaveZipArchiveToBLOB → CreateOutStream`, `SendToEMail → CreateInStream`, `SendToEmailVendor → CreateInStream`)
- [Codeunit 260 "Document-Mailing"](../codeunit/260.md) (2 calls: `SendToEMail → EmailFile`, `SendToEmailVendor → EmailFile`)
- [Codeunit 8703 "Feature Telemetry"](../codeunit/8703.md) (2 calls: `Send → LogUsage`, `SendVendor → LogUsage`)
- [Codeunit 10 "Type Helper"](../codeunit/10.md) (1 call: `SendToEMail → CopyRecVariantToRecRef`)
- [Codeunit 1410 "Doc. Exch. Service Mgt."](../codeunit/1410.md) (1 call: `CheckElectronicSendingEnabled → CheckServiceEnabled`)
- [Page 364 "Select Sending Options"](../page/364.md) (1 call: `RunSelectSendingOptionsPage → (object)`)

## Across versions

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

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: "Document Sending Profile")`, then `bcatlas_get_procedure_body` or `bcatlas_get_neighbors` on the returned id.
