Skip to main content

Search OfficeIMO

Enter a topic, API type, or PowerShell command.

Documentation Search all OfficeIMO/

API Reference

Class

InvoiceSourceDocument

Namespace OfficeIMO.Invoicing
Assembly OfficeIMO.Invoicing
Modifiers sealed

Immutable CII/UBL source XML for bounded edits that retain unmapped extensions. Loading does not establish standards or business-rule compliance.

Inheritance

  • Object
  • InvoiceSourceDocument

Usage

This type appears in these public API surfaces even when no hand-authored example is attached directly to the page.

Accepted by parameters

Methods

Load 3 overloads
public static InvoiceSourceDocument Load(Byte[] xml) #
Returns: InvoiceSourceDocument

Captures a defensive copy of supported source XML with DTDs/external entities disabled and size, depth, node and attribute limits.

Parameters

xml System.Byte[] requiredposition: 0
public static InvoiceSourceDocument Load(Stream stream) #
Returns: InvoiceSourceDocument

Reads from the current stream position, leaves the stream open, and consumes at most the byte limit plus one byte.

Parameters

stream System.IO.Stream requiredposition: 0
public static InvoiceSourceDocument Load(String path) #
Returns: InvoiceSourceDocument

Loads a file under the same source limits.

Parameters

path System.String requiredposition: 0
public Byte[] ToBytes() #
Returns: Byte[]

Returns a defensive copy. Unedited documents are byte-identical; edited documents retain XML content using UTF-8, without preserving original lexical formatting.

Properties

public InvoiceSyntax Syntax { get; } #

Source syntax. UBL includes Invoice and CreditNote roots.

public Boolean IsUblCreditNote { get; } #

Whether the source root is a UBL credit note.

public Boolean HasXmlSignature { get; } #

Whether XML Signature content is present. Signatures are not verified.

public String Number { get; } #

Existing invoice number, or null when missing. Ambiguous or nested fields are rejected.

public String TypeCode { get; } #

Declared document type, without establishing compliance.

public String GuidelineId { get; } #

Declared profile guideline/customization identifier.

public String Currency { get; } #

Declared invoice currency, without validating its monetary amounts.

public Nullable<DateTime> IssueDate { get; } #

Issue date for a format-102 CII date or plain ISO UBL date; null for other representations.

public Nullable<DateTime> DueDate { get; } #

Existing payment due date in the supported date representation. UBL credit notes have no supported due-date edit contract.

public String BuyerReference { get; } #

Existing buyer reference.

public String PaymentReference { get; } #

Existing remittance reference. Multiple UBL payment-means occurrences are ambiguous and rejected.

Fields

public const Int32 MaximumXmlBytes #

Maximum accepted and edited XML bytes, including a byte order mark.

Value: 16777216
public const Int32 MaximumXmlNodes #

Maximum XML nodes accepted before tree materialization.

Value: 100000
public const Int32 MaximumXmlAttributes #

Maximum XML attributes accepted before tree materialization.

Value: 200000