---
title: "Codeunit 229 Document-Print"
author: "Jonas Paprotka"
url: https://jonas-paprotka.de/ref/codeunit/229-document-print/
type: codeunit
id: 229
name: "Document-Print"
app: "Base Application"
namespace: Microsoft.Foundation.Reporting
versions: "17-28"
build: 28.5.54151.54365
source: "https://jonas-paprotka.de/ref/codeunit/229-document-print/source/29/"
checked: 2026-09-20
subject: "Microsoft Dynamics 365 Business Central"
license: "Content © 2026 Jonas Paprotka. Quote freely with attribution and a link."
---

# Codeunit 229 Document-Print

Jonas Paprotka, https://jonas-paprotka.de/ref/codeunit/229-document-print/

| | |
| --- | --- |
| App | Base Application |
| Namespace | Microsoft.Foundation.Reporting |
| Versions | 17-28 |
| Source file | Foundation/Reporting/DocumentPrint.Codeunit.al |

## Procedures

| Name | Parameters | Returns | Access | Versions | Obsolete | Reason |
| --- | --- | --- | --- | --- | --- | --- |
| EmailSalesHeader | (Record Sales Header) | - | public | 17-28 | - | - |
| PrintSalesHeader | (Record Sales Header) | - | public | 17-28 | - | - |
| PrintSalesHeaderToDocumentAttachment | (var Record Sales Header) | - | public | 17-28 | - | - |
| PrintSalesInvoiceToDocumentAttachment | (var Record Sales Header, Integer) | - | public | 17-28 | - | - |
| GetSalesInvoicePrintToAttachmentOption | (Record Sales Header) | Integer | public | 17-28 | - | - |
| PrintSalesOrderToDocumentAttachment | (var Record Sales Header, Integer) | - | public | 17-28 | - | - |
| GetSalesOrderPrintToAttachmentOption | (Record Sales Header) | Integer | public | 17-28 | - | - |
| PrintProformaSalesInvoiceToDocumentAttachment | (var Record Sales Header) | - | public | 17-28 | - | - |
| PrintSalesOrderToAttachment | (var Record Sales Header, Option) | - | public | 17-28 | - | - |
| PrintPurchHeader | (Record Purchase Header) | - | public | 17-28 | - | - |
| PrintPurchaseHeaderToDocumentAttachment | (var Record Purchase Header) | - | public | 17-28 | - | - |
| PrintBankAccStmt | (Record Bank Account Statement) | - | public | 17-28 | - | - |
| PrintCheck | (var Record Gen. Journal Line) | - | public | 17-28 | - | - |
| PrintTransferHeader | (Record Transfer Header) | - | public | 17-28 | - | - |
| PrintServiceContract | (Record Service Contract Header) | - | public | 17-27 | Pending 25.0 | Replaced by procedure PrintServiceContract in codeunit Serv. Report Management |
| PrintServiceHeader | (Record Service Header) | - | public | 17-27 | Pending 25.0 | Replaced by procedure PrintServiceHeader in codeunit Serv. Report Management |
| PrintAsmHeader | (Record Assembly Header) | - | public | 17-28 | - | - |
| PrintSalesOrder | (Record Sales Header, Option) | - | public | 17-28 | - | - |
| PrintSalesHeaderArch | (Record Sales Header Archive) | - | public | 17-28 | - | - |
| PrintPurchHeaderArch | (Record Purchase Header Archive) | - | public | 17-28 | - | - |
| PrintProformaSalesInvoice | (Record Sales Header) | - | public | 17-28 | - | - |
| PrintInvtOrderTest | (Record Phys. Invt. Order Header, Boolean) | - | public | 17-28 | - | - |
| PrintInvtOrder | (Record Phys. Invt. Order Header, Boolean) | - | public | 17-28 | - | - |
| PrintPostedInvtOrder | (Record Pstd. Phys. Invt. Order Hdr, Boolean) | - | public | 17-28 | - | - |
| PrintInvtRecording | (Record Phys. Invt. Record Header, Boolean) | - | public | 17-28 | - | - |
| PrintPostedInvtRecording | (Record Pstd. Phys. Invt. Record Hdr, Boolean) | - | public | 17-28 | - | - |
| GetPurchDocTypeUsage | (Record Purchase Header) | Enum Report Selection Usage | public | 17-28 | - | - |
| PrintPostedPaymentReconciliation | (Record Posted Payment Recon. Hdr) | - | public | 18-28 | - | - |
| PrintInvtDocument | (var Record Invt. Document Header, Boolean) | - | public | 18-28 | - | - |
| PrintInvtReceipt | (Record Invt. Receipt Header, Boolean) | - | public | 18-28 | - | - |
| PrintInvtShipment | (Record Invt. Shipment Header, Boolean) | - | public | 18-28 | - | - |
| PrintDirectTransfer | (Record Direct Trans. Header, Boolean) | - | public | 18-28 | - | - |
| GetSalesDocTypeUsage | (Record Sales Header) | Enum Report Selection Usage | public | 18-28 | - | - |
| GetServContractTypeUsage | (Record Service Contract Header) | Enum Report Selection Usage | public | 18-27 | Pending 25.0 | Replaced by same procedure in codeunit Serv. Report Management  |
| GetAsmHeaderDocTypeUsage | (Record Assembly Header) | Enum Report Selection Usage | public | 18-28 | - | - |
| GetSalesOrderUsage | (Option) | Enum Report Selection Usage | public | 18-28 | - | - |
| GetSalesArchDocTypeUsage | (Record Sales Header Archive) | Enum Report Selection Usage | public | 18-28 | - | - |
| GetPurchArchDocTypeUsage | (Record Purchase Header Archive) | Enum Report Selection Usage | public | 18-28 | - | - |
| CalcSalesDisc | (var Record Sales Header) | - | public | 18-28 | - | - |
| CalcPurchDisc | (var Record Purchase Header) | - | public | 18-28 | - | - |
| CalcServDisc | (var Record Service Header) | - | public | 18-27 | Pending 25.0 | Replaced by same procedure in codeunit Serv. Report Management |
| GetServHeaderDocTypeUsage | (Record Service Header) | Enum Report Selection Usage | public | 19-27 | Pending 25.0 | Replaced by same procedure in codeunit Serv. Report Management  |
| PrintServiceHeaderToDocumentAttachment | (var Record Service Header) | - | public | 24-27 | Pending 25.0 | Replaced by same procedure in codeunit Serv. Report Management  |
| PrintServiceContractToDocumentAttachment | (var Record Service Contract Header) | - | public | 24-27 | Pending 25.0 | Replaced by same procedure in codeunit Serv. Report Management  |
| OpenReportSelectionInventory | (ErrorInfo) | - | public | 25-28 | - | - |
| RunOnBeforeCalcServDisc | (var Record Service Header, var Boolean) | - | internal | 25-27 | - | - |
| RunOnBeforePrintServiceContract | (var Record Service Contract Header, Integer, var Boolean) | - | internal | 25-27 | - | - |
| RunOnBeforePrintServiceHeader | (var Record Service Header, Integer, var Boolean) | - | internal | 25-27 | - | - |
| RunOnGetServHeaderDocTypeUsageElseCase | (Record Service Header, var Integer, var Boolean) | - | internal | 25-27 | - | - |
| RunOnGetServContractTypeUsageElseCase | (Record Service Contract Header, var Integer, var Boolean) | - | internal | 25-27 | - | - |
| EmailPurchHeader | (Record Purchase Header) | - | public | 26-28 | - | - |

## Events

| Kind | Name | Parameters | Versions | Obsolete | Reason |
| --- | --- | --- | --- | --- | --- |
| Integration event | OnAfterPrintSalesInvoiceToDocumentAttachment | (var Record Sales Header, Integer) | 17-28 | - | - |
| Integration event | OnAfterPrintSalesOrderToDocumentAttachment | (var Record Sales Header, Integer) | 17-28 | - | - |
| Integration event | OnBeforeCalcSalesDisc | (var Record Sales Header, var Boolean) | 17-28 | - | - |
| Integration event | OnBeforeCalcServDisc | (var Record Service Header, var Boolean) | 17-27 | Pending 25.0 | Replaced by same event in codeunit Serv. Report Management |
| Integration event | OnBeforeCalcPurchDisc | (var Record Purchase Header, var Boolean) | 17-28 | - | - |
| Integration event | OnBeforeGetPurchDocTypeUsage | (Record Purchase Header, var Enum Report Selection Usage, var Boolean) | 17-28 | - | - |
| Integration event | OnBeforeGetSalesDocTypeUsage | (Record Sales Header, var Enum Report Selection Usage, var Boolean) | 17-28 | - | - |
| Integration event | OnBeforeDoPrintSalesHeader | (var Record Sales Header, Integer, Boolean, var Boolean) | 17-28 | - | - |
| Integration event | OnBeforeDoPrintPurchHeader | (var Record Purchase Header, Integer, var Boolean) | 17-25 | - | - |
| Integration event | OnBeforePrintBankAccStmt | (var Record Bank Account Statement, var Boolean) | 17-28 | - | - |
| Integration event | OnBeforePrintCheck | (var Record Gen. Journal Line, var Boolean) | 17-28 | - | - |
| Integration event | OnBeforePrintTransferHeader | (var Record Transfer Header, var Boolean) | 17-28 | - | - |
| Integration event | OnBeforePrintServiceContract | (var Record Service Contract Header, Integer, var Boolean) | 17-27 | Pending 25.0 | Replaced by same event in codeunit Serv. Report Management |
| Integration event | OnBeforePrintServiceHeader | (var Record Service Header, Integer, var Boolean) | 17-27 | Pending 25.0 | Replaced by same event in codeunit Serv. Report Management |
| Integration event | OnBeforePrintAsmHeader | (var Record Assembly Header, Integer, var Boolean) | 17-28 | - | - |
| Integration event | OnBeforePrintSalesOrder | (var Record Sales Header, Integer, var Boolean) | 17-28 | - | - |
| Integration event | OnBeforePrintSalesHeaderArch | (var Record Sales Header Archive, Integer, var Boolean) | 17-28 | - | - |
| Integration event | OnBeforePrintPurchHeaderArch | (var Record Purchase Header Archive, Integer, var Boolean) | 17-28 | - | - |
| Integration event | OnBeforePrintProformaSalesInvoice | (var Record Sales Header, Integer, var Boolean) | 17-28 | - | - |
| Integration event | OnGetAsmHeaderTypeUsageElseCase | (Record Assembly Header, var Integer, var Boolean) | 17-28 | - | - |
| Integration event | OnGetPurchDocTypeUsageElseCase | (Record Purchase Header, var Integer, var Boolean) | 17-28 | - | - |
| Integration event | OnGetSalesDocTypeUsageElseCase | (Record Sales Header, var Integer, var Boolean) | 17-28 | - | - |
| Integration event | OnGetServHeaderDocTypeUsageElseCase | (Record Service Header, var Integer, var Boolean) | 17-27 | Pending 25.0 | Replaced by same event in codeunit Serv. Report Management |
| Integration event | OnGetServContractTypeUsageElseCase | (Record Service Contract Header, var Integer, var Boolean) | 17-27 | Pending 25.0 | Replaced by same event in codeunit Serv. Report Management |
| Integration event | OnGetSalesArchDocTypeUsageElseCase | (Record Sales Header Archive, var Integer, var Boolean) | 17-28 | - | - |
| Integration event | OnGetPurchArchDocTypeUsageElseCase | (Record Purchase Header Archive, var Integer, var Boolean) | 17-28 | - | - |
| Integration event | OnBeforePrintPostedPaymentReconciliation | (var Record Posted Payment Recon. Hdr, var Boolean) | 18-28 | - | - |
| Integration event | OnBeforePrintCheckProcedure | (var Record Gen. Journal Line, var Record Gen. Journal Line, var Boolean) | 18-28 | - | - |
| Integration event | OnGetSalesOrderUsageElseCase | (Option, var Enum Report Selection Usage, var Boolean) | 18-28 | - | - |
| Integration event | OnAfterDoPrintSalesHeader | (var Record Sales Header, Boolean) | 21-28 | - | - |
| Integration event | OnBeforeRunSaveAsDocumentAttachment | (Integer, Variant, Boolean, var Boolean) | 21-28 | - | - |
| Integration event | OnDoPrintSalesHeaderToDocumentAttachmentOnBeforeRunSaveAsDocumentAttachment | (var Record Sales Header, Integer, Boolean, var Boolean) | 22-28 | - | - |
| Integration event | OnDoPrintProformaSalesInvoiceToDocumentAttachmentOnBeforeRunSaveAsDocumentAttachment | (var Record Sales Header, Integer, Boolean, var Boolean) | 22-28 | - | - |
| Integration event | OnDoPrintSalesOrderToAttachmentOnBeforeRunSaveAsDocumentAttachment | (var Record Sales Header, Integer, Boolean, var Boolean) | 22-28 | - | - |
| Integration event | OnDoPrintPurchaseHeaderToDocumentAttachmentOnBeforeRunSaveAsDocumentAttachment | (var Record Purchase Header, Integer, Boolean, var Boolean) | 22-28 | - | - |
| Integration event | OnBeforeProcessPrintSalesOrder | (var Record Sales Header, Option, var Boolean) | 24-28 | - | - |
| Integration event | OnAfterDoPrintPurchaseHeader | (var Record Purchase Header, Boolean) | 26-28 | - | - |
| Integration event | OnBeforeDoPrintPurchHeader | (var Record Purchase Header, Integer, Boolean, var Boolean) | 26-28 | - | - |
| Integration event | OnBeforePrintDocumentWithReportSelections | (Record Report Selections, Variant, Boolean, var Boolean) | 28 | - | - |

## Source

Symbols: Microsoft.BaseApplication.symbols.437dbf0e-84ff-417a-965d-ed2bb9650972, https://dynamicssmb2.pkgs.visualstudio.com/DynamicsBCPublicFeeds/_packaging/MSSymbols/nuget/v3/index.json, highest build per major on 2026-09-20.
AL source 29: https://github.com/microsoft/BCApps, MIT, releases/29.x at a66254c3b8b5bb1cea290dc8f9d097aec4381153.

Jonas Paprotka, 2026-09-20.
