Codeunit 5579 "Digital Voucher Impl."
EnforcedDigitalVouchers · Microsoft.EServices.EDocument
Across versions
- BC23-28not present
- BC29-30present
Neighbourhood 12 connected objects and pages
EnforcedDigitalVouchers · Microsoft.EServices.EDocument · BC29-30 · source at ea08af5e · facts from BC29
Properties
| Property | Value |
|---|---|
| Permissions | TableData “Sales Invoice Header” = m, Tabledata “Sales Cr.Memo Header” = m, Tabledata “Service Invoice Header” = m, Tabledata “Service Cr.Memo Header” = m, Tabledata “Purch. Inv. Header” = m, Tabledata “Purch. Cr. Memo Hdr.” = m |
Events published
OnGenerateDigitalVoucherForDocumentOnCaseElse(RecRef: RecordRef)(integration)OnHandleDigitalVoucherEntrySetupWhenEnforced(EntryType: Enum "Digital Voucher Entry Type")(internal)
Event subscriptions
- InsertIntoAssistedSetup subscribes to Codeunit “Guided Experience” OnRegisterAssistedSetup
- OnAfterCheckSalesDoc subscribes to Codeunit “Sales-Post” OnAfterCheckSalesDoc
- OnInitializeOnAfterCheckAndSetPostingConstants subscribes to Codeunit “Service-Post” OnInitializeOnAfterCheckAndSetPostingConstants
- OnAfterCheckSalesPrepmtDoc subscribes to Codeunit “Sales-Post Prepayments” OnAfterCheckPrepmtDoc
- OnAfterCheckPurchDoc subscribes to Codeunit “Purch.-Post” OnAfterCheckPurchDoc
- OnAfterCheckPurchPrepmtDoc subscribes to Codeunit “Purchase-Post Prepayments” OnAfterCheckPrepmtDoc
- OnAfterCheckGenJnlLine subscribes to Codeunit “Gen. Jnl.-Check Line” OnAfterCheckGenJnlLine
- CheckSalesVoucherOnAfterFinalizePostingOnBeforeCommit subscribes to Codeunit “Sales-Post” OnAfterFinalizePostingOnBeforeCommit
- CheckServiceVoucherOnAfterPostServiceDoc subscribes to Codeunit “Service-Post” OnAfterPostServiceDoc
- CheckSalesVoucherOnAfterPostPrepayments subscribes to Codeunit “Sales-Post Prepayments” OnAfterPostPrepayments
- CheckPurchVoucherOnAfterFinalizePostingOnBeforeCommit subscribes to Codeunit “Purch.-Post” OnAfterFinalizePostingOnBeforeCommit
- CheckPurchVoucherOnAfterPostPrepayments subscribes to Codeunit “Purchase-Post Prepayments” OnAfterPostPrepayments
- OnProcessLinesOnAfterPostGenJnlLines subscribes to Codeunit “Gen. Jnl.-Post Batch” OnProcessLinesOnAfterPostGenJnlLines
- CheckIncomingDocumentOnBeforeDeleteEvent subscribes to Table “Incoming Document Attachment” OnBeforeDeleteEvent
- CheckVoucherOnBeforeCanReplaceMainAttachment subscribes to Table “Incoming Document” OnBeforeCanReplaceMainAttachment
- CheckVoucherOnBeforeRemoveReferencedRecords subscribes to Table “Incoming Document” OnBeforeRemoveReferencedRecords
- CheckIfChangeIsAllowedOnModifyDigitalVoucherSetup subscribes to Table “Digital Voucher Setup” OnBeforeModifyEvent
- ExcludeDigitalVouchersOnAttachIncomingDocumentsOnAfterSetFilter subscribes to Table “Email Item” OnAttachIncomingDocumentsOnAfterSetFilter
- CheckIfChangeIsAllowedOnDeleteDigitalVoucherSetup subscribes to Table “Digital Voucher Setup” OnBeforeDeleteEvent
- CopyDigitalVoucherOnAfterCreateCopyPurchDocument subscribes to Codeunit “Correct Posted Purch. Invoice” OnAfterCreateCopyDocument
- CopyDigitalVoucherOnAfterCreateCorrectiveSalesCrMemo subscribes to Codeunit “Correct Posted Sales Invoice” OnAfterCreateCorrectiveSalesCrMemo
- EDocExportOnExportEDocumentAfterCreateEDocument subscribes to Codeunit “E-Doc. Export” OnExportEDocumentAfterCreateEDocument
- EDocumentSubscribers_OnAfterUpdateToPostedPurchaseEDocument subscribes to Codeunit “E-Doc. Integration Management” OnAfterUpdateToPostedPurchaseEDocument
Procedures
HandleDigitalVoucherForDocument(var ErrorMessageMgt: Codeunit "Error Message Management"; EntryType: Enum "Digital Voucher Entry Type"; Record: Variant)HandleDigitalVoucherForEntryTypeAndDoc(var ErrorMessageMgt: Codeunit "Error Message Management"; DigitalVoucherEntrySetup: Record "Digital Voucher Entry Setup"; Record: Variant)HandleDigitalVoucherForPostedDocument(EntryType: Enum "Digital Voucher Entry Type"; Record: Variant)HandleDigitalVoucherForPostedGLEntry(GLEntry: Record "G/L Entry"; GenJournalLine: Record "Gen. Journal Line"; GenJournalSourceType: Enum "Gen. Journal Source Type")GenerateDigitalVoucherForDocument(RecRef: RecordRef)AttachBlobToIncomingDocument(var TempBlob: Codeunit "Temp Blob"; DocType: Text; PostingDate: Date; DocNo: Code[20])CheckDigitalVoucherForDocument(DigitalVoucherEntryType: Enum "Digital Voucher Entry Type"; RecRef: RecordRef): BooleanCheckIncomingDocumentChange(Rec: Record "Incoming Document Attachment")GetDigitalVoucherEntrySetup(var DigitalVoucherEntrySetup: Record "Digital Voucher Entry Setup"; EntryType: Enum "Digital Voucher Entry Type"): BooleanGetIncomingDocumentRecordFromRecordRef(var IncomingDocument: Record "Incoming Document"; MainRecordRef: RecordRef): Boolean
Plus 15 local procedures.
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 5585 “Digital Voucher Feature” (24 calls:
AttachIncomingEDocument → IsFeatureEnabled,AttachOutgoingEDocument → IsFeatureEnabled,CheckIfChangeIsAllowedOnDeleteDigitalVoucherSetup → CheckIfDigitalVoucherSetupChangeIsAllowed, …) - Codeunit 134 “Import Attachment - Inc. Doc.” (5 calls:
AttachBlobToIncomingDocument → ImportAttachment,AttachIncomingEDocument → ImportAttachment,AttachPurchaseEDocument → ImportAttachment, …) - Codeunit 5586 “Digital Voucher Entry” (3 calls:
AttachOutgoingEDocument → GetDocNoAndPostingDateFromRecRef,HandleDigitalVoucherForPostedGLEntry → GetVoucherTypeFromGLEntryOrSourceType,OnAfterCheckGenJnlLine → GetVoucherEntryTypeFromGenJnlLine) - Codeunit 8703 “Feature Telemetry” (3 calls:
AttachIncomingEDocument → LogError,AttachPurchaseEDocument → LogError,ExtractXMLFromPDF → LogError) - Codeunit 4100 “Temp Blob” (2 calls:
AttachPurchaseEDocument → HasValue,ExtractXMLFromPDF → HasValue) - Codeunit 1990 “Guided Experience” (1 call:
InsertIntoAssistedSetup → InsertAssistedSetup) - Codeunit 3110 “PDF Document” (1 call:
ExtractXMLFromPDF → GetDocumentAttachmentStream) - Codeunit 701 “Data Type Management” (1 call:
CheckIncomingDocumentChange → GetRecordRef)
Called by
- Codeunit 5580 “Voucher Attachment Check” (4 calls:
CheckVoucherIsAttachedToDocument → CheckDigitalVoucherForDocument,GenerateDigitalVoucherForPostedDocument → GenerateDigitalVoucherForDocument,GenerateDigitalVoucherForPostedDocument → GetDigitalVoucherEntrySetup, …) - Codeunit 5581 “Voucher Attach Or Note Check” (4 calls:
CheckVoucherIsAttachedToDocument → CheckDigitalVoucherForDocument,GenerateDigitalVoucherForPostedDocument → GenerateDigitalVoucherForDocument,GenerateDigitalVoucherForPostedDocument → GetDigitalVoucherEntrySetup, …) - Codeunit 5588 “Voucher E-Document Check” (2 calls:
CheckVoucherIsAttachedToDocument → GetDigitalVoucherEntrySetup,GenerateDigitalVoucherForPostedDocument → GetDigitalVoucherEntrySetup) - Codeunit 5584 “Dig. Voucher Manual Subscriber” (1 call:
AttachDigitalVoucherOnBeforeSaveDocumentAttachmentFromRecRe → AttachBlobToIncomingDocument)
Recent changes
- 2026-08-11 #9208 [Enforced Digital Vouchers] - Attaching EDocuments when using Digital Vouchers (main, BC30, feature)
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: "codeunit", object_name: "Digital Voucher Impl."), then bcatlas_get_procedure_body or bcatlas_get_neighbors on the returned id.