Reorganize Book folder
This commit is contained in:
458
Books/Accounting/AccountsReceivable/AccountsReceivableCommon.txt
Normal file
458
Books/Accounting/AccountsReceivable/AccountsReceivableCommon.txt
Normal file
@@ -0,0 +1,458 @@
|
||||
RAG Knowledge Chunks for CMH.HFA.Accounting.AccountsReceivable.Common
|
||||
---
|
||||
Title: Adjustment Base Class - Common Adjustment Properties
|
||||
Metadata:
|
||||
• module: CMH.HFA.Accounting.AccountsReceivable.Common
|
||||
• component: Adjustment
|
||||
• type: concept
|
||||
• domain: Adjustments
|
||||
• system: Oracle
|
||||
Content: Purpose: Abstract base class defining common properties for invoice and credit memo adjustments in Oracle AR.
|
||||
Core Properties:
|
||||
• AdjustmentId, AdjustmentNumber: Identifiers
|
||||
• OrgId, CustomerTrxId, ReceivablesTrxId: Oracle references
|
||||
• TransactionAdjustmentType, AdjustmentType: Classification
|
||||
• Amount (string), ApplyDate, GlDate (DateOnly): Financial data
|
||||
• PaymentScheduleId, SetOfBooksId: Accounting references
|
||||
• Comments, CurrencyCode, Status, ReasonCode: Metadata
|
||||
Special JSON Properties:
|
||||
• BusinessUnit: Mapped from "__FLEX_Context"
|
||||
• RequiresApproval: Mapped from "Attribute1"
|
||||
Inheritance: InvoiceAdjustment and CreditMemoAdjustment inherit from this base.
|
||||
Example Questions:
|
||||
• What properties are common to all adjustments?
|
||||
• How is BusinessUnit mapped in adjustment JSON?
|
||||
• What is the base class for invoice adjustments?
|
||||
---
|
||||
Title: InvoiceAdjustment DTO - Invoice Adjustment Type
|
||||
Metadata:
|
||||
• module: CMH.HFA.Accounting.AccountsReceivable.Common
|
||||
• component: InvoiceAdjustment
|
||||
• type: concept
|
||||
• domain: Invoice Adjustments
|
||||
• system: Oracle
|
||||
Content: Purpose: Data structure representing invoice-specific adjustments, inheriting all properties from Adjustment base class.
|
||||
Structure:
|
||||
• Inherits all properties from Adjustment abstract class
|
||||
• No additional properties defined
|
||||
• Used to distinguish invoice adjustments from credit memo adjustments at type level
|
||||
Usage: Provides strong typing for invoice adjustment operations while leveraging common adjustment properties from base class.
|
||||
Example Questions:
|
||||
• What type represents invoice adjustments?
|
||||
• Does InvoiceAdjustment have unique properties?
|
||||
• What class does InvoiceAdjustment inherit from?
|
||||
---
|
||||
Title: CreditMemoAdjustment DTO - Credit Memo Adjustment Type
|
||||
Metadata:
|
||||
• module: CMH.HFA.Accounting.AccountsReceivable.Common
|
||||
• component: CreditMemoAdjustment
|
||||
• type: concept
|
||||
• domain: Credit Memo Adjustments
|
||||
• system: Oracle
|
||||
Content: Purpose: Data structure representing credit memo-specific adjustments, inheriting all properties from Adjustment base class.
|
||||
Structure:
|
||||
• Inherits all properties from Adjustment abstract class
|
||||
• No additional properties defined
|
||||
• Used to distinguish credit memo adjustments from invoice adjustments at type level
|
||||
Usage: Provides strong typing for credit memo adjustment operations while leveraging common adjustment properties from base class.
|
||||
Example Questions:
|
||||
• What type represents credit memo adjustments?
|
||||
• Does CreditMemoAdjustment have unique properties?
|
||||
• What class does CreditMemoAdjustment inherit from?
|
||||
---
|
||||
Title: Installment DTO - Invoice Payment Schedule Structure
|
||||
Metadata:
|
||||
• module: CMH.HFA.Accounting.AccountsReceivable.Common
|
||||
• component: Installment
|
||||
• type: concept
|
||||
• domain: Installments
|
||||
• system: Oracle
|
||||
Content: Purpose: Data structure representing invoice payment installments with balance and payment tracking.
|
||||
Key Properties:
|
||||
• TransactionId (long): Invoice transaction identifier
|
||||
• InstallmentId (string): Installment identifier (JSON mapped from "Installment")
|
||||
• InstallmentSequence (int): Payment order sequence
|
||||
• InstallmentDueDate (string): Due date
|
||||
• InstallmentOriginalAmount, InstallmentBalanceDue (decimal): Amount tracking
|
||||
• AmountApplied, AmountCredited, AmountAdjusted, AmountInDispute (string): Payment details
|
||||
• InstallmentStatus (string): Status (e.g., "Open", "Closed")
|
||||
Computed Property:
|
||||
• AmountAdjustedDecimal: Parses AmountAdjusted to decimal (returns 0 if parse fails)
|
||||
Example Questions:
|
||||
• What fields define an installment?
|
||||
• How is InstallmentBalanceDue tracked?
|
||||
• What computed property parses AmountAdjusted?
|
||||
---
|
||||
Title: CreditMemo DTO - Credit Memo Transaction Structure
|
||||
Metadata:
|
||||
• module: CMH.HFA.Accounting.AccountsReceivable.Common
|
||||
• component: CreditMemo
|
||||
• type: concept
|
||||
• domain: Credit Memos
|
||||
• system: Oracle
|
||||
Content: Purpose: Data structure representing Oracle credit memo transactions with line items and unapplied balance tracking.
|
||||
Key Properties:
|
||||
• TransactionId, TransactionNumber, DocumentNumber: Identifiers
|
||||
• TransactionSource, TransactionType, CreditReason: Classification
|
||||
• TransactionDate, AccountingDate (DateOnly): Dates
|
||||
• CurrencyCode, LegalEntityId, UnappliedBalance: Financial data
|
||||
• CustomerAccountNumber, SitePurposeSiteNumber: Customer references
|
||||
• BusinessUnit, BusinessGroup, GenerateBill: Business context
|
||||
• ReceivablesCreditMemoLines (List<CreditMemoLine>): Line items (JSON: "receivablesCreditMemoLines")
|
||||
Computed Property:
|
||||
• UnappliedBalanceDecimal: Parses UnappliedBalance to decimal (returns 0 if parse fails)
|
||||
Example Questions:
|
||||
• What structure represents Oracle credit memos?
|
||||
• How is UnappliedBalance accessed as decimal?
|
||||
• What property contains credit memo line items?
|
||||
---
|
||||
Title: CreditMemoLine DTO - Credit Memo Line Item Structure
|
||||
Metadata:
|
||||
• module: CMH.HFA.Accounting.AccountsReceivable.Common
|
||||
• component: CreditMemoLine
|
||||
• type: concept
|
||||
• domain: Credit Memos
|
||||
• system: Oracle
|
||||
Content: Purpose: Data structure representing individual line items within credit memo transactions.
|
||||
Properties:
|
||||
• TransactionLineId (string): Line identifier (JSON mapped from "TransactionLineID")
|
||||
• LineNumber (string): Line sequence number
|
||||
• Description (string): Line description
|
||||
• Quantity (int): Item quantity
|
||||
• UnitPrice (decimal): Unit price
|
||||
• MemoLine (string): Memo line reference
|
||||
• CreatedBy, LastUpdatedBy (string): Audit fields
|
||||
• CreationDate, LastUpdateDate (DateTime): Audit timestamps
|
||||
Usage: Collection of CreditMemoLine objects stored in CreditMemo.ReceivablesCreditMemoLines.
|
||||
Example Questions:
|
||||
• What defines a credit memo line item?
|
||||
• How is line item identifier mapped from JSON?
|
||||
• What audit fields are tracked on credit memo lines?
|
||||
---
|
||||
Title: OracleIntegrationBase - Base Oracle OIC Integration
|
||||
Metadata:
|
||||
• module: CMH.HFA.Accounting.AccountsReceivable.Common
|
||||
• component: OracleIntegrationBase
|
||||
• type: component
|
||||
• domain: Integration
|
||||
• system: Oracle OIC
|
||||
Content: Purpose: Abstract base class for Oracle Integration Cloud (OIC) integrations providing authentication and request building.
|
||||
Processing Logic:
|
||||
• OicBaseUrl(): Constructs "https://erp-{oicEnv}-oicintegration-idq4hj6bgo2f-ia.integration.us-ashburn-1.ocp.oraclecloud.com"
|
||||
• GetRequestAsync(): Retrieves credentials from AWS Parameter Store, creates authenticated Flurl request with basic auth
|
||||
• UpdateEndpoint(): Appends endpoint path to existing Flurl request URL
|
||||
Secret Keys:
|
||||
• {environment}-hfa-oic-username
|
||||
• {environment}-hfa-oic-password
|
||||
• {environment}-hfa-oic-environment
|
||||
Key Rule: Throws exception if ENVIRONMENT variable not set.
|
||||
Example Questions:
|
||||
• How do Oracle integrations authenticate?
|
||||
• What is the OIC base URL structure?
|
||||
• Where are OIC credentials retrieved from?
|
||||
---
|
||||
Title: SecretString Service - AWS Parameter Store Integration
|
||||
Metadata:
|
||||
• module: CMH.HFA.Accounting.AccountsReceivable.Common
|
||||
• component: SecretString
|
||||
• type: component
|
||||
• domain: Configuration
|
||||
• system: AWS Parameter Store
|
||||
Content: Purpose: Service for retrieving encrypted secrets from AWS Systems Manager Parameter Store.
|
||||
Interface: ISecretString with GetSecretString(string key) method.
|
||||
Processing Logic:
|
||||
• Creates AmazonSimpleSystemsManagementClient
|
||||
• Builds GetParameterRequest with key and WithDecryption = true
|
||||
• Calls GetParameterAsync
|
||||
• Returns Parameter.Value from response
|
||||
Usage: Injected into integration classes to retrieve OIC credentials, mail relay certificates, and other secrets.
|
||||
Example Questions:
|
||||
• How are secrets retrieved from Parameter Store?
|
||||
• What service retrieves encrypted parameters?
|
||||
• Is decryption enabled for secret retrieval?
|
||||
---
|
||||
Title: MailRelayService - Email Relay Integration
|
||||
Metadata:
|
||||
• module: CMH.HFA.Accounting.AccountsReceivable.Common
|
||||
• component: MailRelayService
|
||||
• type: component
|
||||
• domain: Email/Notifications
|
||||
• system: Mail Relay
|
||||
Content: Purpose: Service for sending emails via Clayton's mail relay infrastructure with SSL certificate validation.
|
||||
Configuration:
|
||||
• Production: "mailrelay.cct-eto.com"
|
||||
• Non-production: "mailrelay.dev.cct-eto.com"
|
||||
• Port: 587
|
||||
• EnableSsl: true, Timeout: 30000ms
|
||||
Processing Logic:
|
||||
• Validates fromAddress and toAddress not null/empty
|
||||
• Creates SmtpClient via ISmtpClientFactory
|
||||
• Configures TLS certificate validation from Parameter Store
|
||||
• Sends MailMessage with optional attachments
|
||||
• Returns true on success, false on failure
|
||||
Key Rules:
|
||||
• IsBodyHtml = false (plain text)
|
||||
• Thread-safe certificate validation callback
|
||||
• Restores existing ServerCertificateValidationCallback after send
|
||||
Example Questions:
|
||||
• How do I send emails via mail relay?
|
||||
• What SMTP server is used for production?
|
||||
• What port does mail relay use?
|
||||
---
|
||||
Title: UnappliedNotificationHelper - Notification Utility Methods
|
||||
Metadata:
|
||||
• module: CMH.HFA.Accounting.AccountsReceivable.Common
|
||||
• component: UnappliedNotificationHelper
|
||||
• type: component
|
||||
• domain: Notifications
|
||||
• system: N/A
|
||||
Content: Purpose: Static utility methods for unapplied notification Lambda functions providing logging and subject line formatting.
|
||||
Methods:
|
||||
• SafeLog(string message): Wraps LambdaLogger.Log in try-catch for test environment compatibility
|
||||
• GetEnvironmentPrefixedSubject(string baseSubject): Adds environment prefix to subject for non-production emails
|
||||
Subject Line Logic:
|
||||
• Production: Returns baseSubject unchanged
|
||||
• Non-production: Prepends capitalized environment name (e.g., "Dev: {baseSubject}")
|
||||
• Default environment: "dev" if null/empty/whitespace
|
||||
Example Questions:
|
||||
• How do I prefix email subjects by environment?
|
||||
• What utility provides safe logging for tests?
|
||||
• How are production vs non-production email subjects distinguished?
|
||||
---
|
||||
Title: Environment-Based Email Subject Prefix Rule
|
||||
Metadata:
|
||||
• module: CMH.HFA.Accounting.AccountsReceivable.Common
|
||||
• component: UnappliedNotificationHelper
|
||||
• type: rule
|
||||
• domain: Notifications
|
||||
• system: N/A
|
||||
Content: Purpose: Defines rule for prefixing email subjects based on deployment environment.
|
||||
Logic:
|
||||
• Read ENVIRONMENT variable (default: "dev" if null/empty/whitespace)
|
||||
• Trim and convert to lowercase
|
||||
• If environment == "prod": return baseSubject unchanged
|
||||
• Else: capitalize first character, return "{CapitalizedEnv}: {baseSubject}"
|
||||
Examples:
|
||||
• prod: "Unapplied Cash Receipt Notification"
|
||||
• dev: "Dev: Unapplied Cash Receipt Notification"
|
||||
• sit: "Sit: Unapplied Cash Receipt Notification"
|
||||
Example Questions:
|
||||
• How are email subjects prefixed by environment?
|
||||
• Do production emails have subject prefixes?
|
||||
• What format is used for non-production subject prefixes?
|
||||
---
|
||||
Title: IMailRelayService Interface - Email Service Contract
|
||||
Metadata:
|
||||
• module: CMH.HFA.Accounting.AccountsReceivable.Common
|
||||
• component: IMailRelayService
|
||||
• type: component
|
||||
• domain: Email/Notifications
|
||||
• system: Mail Relay
|
||||
Content: Purpose: Interface defining contract for mail relay email services.
|
||||
Methods:
|
||||
• SendEmail(fromAddress, toAddress, subject, body): Sends plain text email
|
||||
• SendEmail(fromAddress, toAddress, subject, body, attachments): Sends plain text email with optional attachments
|
||||
Requirements:
|
||||
• fromAddress must use noreply_* format
|
||||
• Body is plain text (not HTML)
|
||||
• Returns true on success, false on failure
|
||||
Usage: Implemented by MailRelayService, injectable for testing and dependency management.
|
||||
Example Questions:
|
||||
• What interface defines email sending?
|
||||
• What format is required for sender addresses?
|
||||
• Do mail relay methods support attachments?
|
||||
---
|
||||
Title: ISmtpClientFactory Interface - SMTP Client Factory Contract
|
||||
Metadata:
|
||||
• module: CMH.HFA.Accounting.AccountsReceivable.Common
|
||||
• component: ISmtpClientFactory
|
||||
• type: component
|
||||
• domain: Email/Notifications
|
||||
• system: SMTP
|
||||
Content: Purpose: Factory interface for creating SMTP client instances, enabling dependency injection and testing.
|
||||
Method:
|
||||
• CreateSmtpClient(string host, int port): Creates configured SmtpClient instance
|
||||
Purpose: Enables mocking SMTP clients in unit tests to avoid real network I/O.
|
||||
Implementations:
|
||||
• DefaultSmtpClientFactory: Creates real SmtpClient for production
|
||||
• Test mocks: Provide fake/mock implementations for testing
|
||||
Example Questions:
|
||||
• How do I inject SMTP client creation?
|
||||
• What factory creates SMTP clients?
|
||||
• How are SMTP clients mocked for testing?
|
||||
---
|
||||
Title: DefaultSmtpClientFactory - Production SMTP Client Factory
|
||||
Metadata:
|
||||
• module: CMH.HFA.Accounting.AccountsReceivable.Common
|
||||
• component: DefaultSmtpClientFactory
|
||||
• type: component
|
||||
• domain: Email/Notifications
|
||||
• system: SMTP
|
||||
Content: Purpose: Default implementation of ISmtpClientFactory that creates real SMTP client instances for production use.
|
||||
Implementation:
|
||||
• CreateSmtpClient(string host, int port): Returns new SmtpClient(host, port)
|
||||
Usage: Registered in dependency injection container as singleton for production scenarios where actual email sending is required.
|
||||
Example Questions:
|
||||
• What creates real SMTP clients?
|
||||
• How is ISmtpClientFactory implemented for production?
|
||||
• What factory is used for actual email sending?
|
||||
---
|
||||
Title: NewtonsoftJsonLambdaSerializer - Lambda JSON Serialization
|
||||
Metadata:
|
||||
• module: CMH.HFA.Accounting.AccountsReceivable.Common
|
||||
• component: NewtonsoftJsonLambdaSerializer
|
||||
• type: component
|
||||
• domain: Serialization
|
||||
• system: AWS Lambda
|
||||
Content: Purpose: Custom Lambda serializer using Newtonsoft.Json with specific configuration for Lambda function input/output.
|
||||
Configuration:
|
||||
• NullValueHandling: Ignore (omit null properties)
|
||||
• Converters: StringEnumConverter (serialize enums as strings)
|
||||
Methods:
|
||||
• Serialize<T>(): Writes object to response stream as JSON, resets stream position to beginning
|
||||
• Deserialize<T>(): Reads object from request stream as JSON
|
||||
Global Settings: Sets JsonConvert.DefaultSettings on instantiation.
|
||||
Usage: Applied to Lambda functions via [assembly: LambdaSerializer(typeof(NewtonsoftJsonLambdaSerializer))].
|
||||
Example Questions:
|
||||
• How do Lambdas serialize JSON?
|
||||
• What JSON settings are used for Lambda functions?
|
||||
• How are enums serialized in Lambda responses?
|
||||
---
|
||||
Title: CommonBaseLambdaService - Base Lambda Service with DI
|
||||
Metadata:
|
||||
• module: CMH.HFA.Accounting.AccountsReceivable.Common
|
||||
• component: CommonBaseLambdaService
|
||||
• type: component
|
||||
• domain: Lambda Infrastructure
|
||||
• system: AWS Lambda
|
||||
Content: Purpose: Abstract base class for Lambda services providing dependency injection capabilities.
|
||||
Processing Logic:
|
||||
• ConfigureStartup(IStartup startup): Creates ServiceCollection, calls startup.ConfigureServices(), builds ServiceProvider
|
||||
• GetService<T>(): Resolves service instance from built ServiceProvider
|
||||
Usage: Lambda classes inherit from this to access dependency-injected services (integrations, helpers, etc.).
|
||||
Pattern: Constructor initializes dependencies via ConfigureStartup(), then GetService<T>() retrieves instances.
|
||||
Example Questions:
|
||||
• How do Lambda functions access dependency injection?
|
||||
• What base class provides DI for Lambdas?
|
||||
• How are services resolved in Lambda functions?
|
||||
---
|
||||
Title: IStartup Interface - Service Configuration Contract
|
||||
Metadata:
|
||||
• module: CMH.HFA.Accounting.AccountsReceivable.Common
|
||||
• component: IStartup
|
||||
• type: component
|
||||
• domain: Configuration
|
||||
• system: N/A
|
||||
Content: Purpose: Interface defining contract for configuring dependency injection services.
|
||||
Method:
|
||||
• ConfigureServices(IServiceCollection service): Registers services into DI container
|
||||
Usage: Implemented by startup classes to define service registrations for Lambda functions.
|
||||
Pattern: Lambda base classes call ConfigureServices() to build ServiceProvider for dependency resolution.
|
||||
Example Questions:
|
||||
• What interface configures DI services?
|
||||
• How do startups register dependencies?
|
||||
• What method registers services in DI container?
|
||||
---
|
||||
Title: ComonStartup - Common Service Configuration
|
||||
Metadata:
|
||||
• module: CMH.HFA.Accounting.AccountsReceivable.Common
|
||||
• component: ComonStartup
|
||||
• type: component
|
||||
• domain: Configuration
|
||||
• system: N/A
|
||||
Content: Purpose: Abstract base startup class that registers common services used across Lambda functions.
|
||||
Registered Services (Singleton):
|
||||
• IMailRelayService → MailRelayService
|
||||
• ISecretString → SecretString
|
||||
Usage: Lambda-specific startup classes inherit from ComonStartup to include common service registrations plus their own specific services.
|
||||
Pattern: Provides consistent service registration baseline across all Lambda projects in solution.
|
||||
Example Questions:
|
||||
• What services are registered by default?
|
||||
• What startup class provides common services?
|
||||
• How are mail relay and secret services registered?
|
||||
---
|
||||
Title: Mail Relay Environment-Based Server Selection
|
||||
Metadata:
|
||||
• module: CMH.HFA.Accounting.AccountsReceivable.Common
|
||||
• component: MailRelayService
|
||||
• type: rule
|
||||
• domain: Email/Notifications
|
||||
• system: Mail Relay
|
||||
Content: Purpose: Defines rule for selecting mail relay server based on deployment environment.
|
||||
Server Selection Logic:
|
||||
• Read ENVIRONMENT variable (default: "dev" if null)
|
||||
• Convert to lowercase
|
||||
• If environment == "prod": Use "mailrelay.cct-eto.com"
|
||||
• Else (dev, sit, etc.): Use "mailrelay.dev.cct-eto.com"
|
||||
Configuration:
|
||||
• Port: 587 (all environments)
|
||||
• SSL: Enabled (all environments)
|
||||
Example Questions:
|
||||
• What mail relay server is used in production?
|
||||
• How is mail server selected by environment?
|
||||
• What port is used for mail relay?
|
||||
---
|
||||
Title: Mail Relay TLS Certificate Validation
|
||||
Metadata:
|
||||
• module: CMH.HFA.Accounting.AccountsReceivable.Common
|
||||
• component: MailRelayService
|
||||
• type: workflow
|
||||
• domain: Email/Notifications
|
||||
• system: Mail Relay
|
||||
Content: Purpose: Configures TLS certificate validation for mail relay SMTP connections.
|
||||
Workflow:
|
||||
1. Retrieve cached certificate from Parameter Store (or cache)
|
||||
2. Lock _tlsCallbackLock for thread safety
|
||||
3. Set ServicePointManager.ServerCertificateValidationCallback
|
||||
4. Add certificate to chain.ChainPolicy.ExtraStore
|
||||
5. Build certificate chain: chain.Build((X509Certificate2)cert)
|
||||
6. Return validation result (true if valid)
|
||||
7. Restore previous callback after email sent
|
||||
Key Rules:
|
||||
• Certificate cached after first retrieval (_cachedCertificate)
|
||||
• Thread-safe callback management
|
||||
• Returns null-safe (skips if certificate null)
|
||||
Example Questions:
|
||||
• How is mail relay TLS validated?
|
||||
• How are mail relay certificates cached?
|
||||
• What ensures thread-safe certificate validation?
|
||||
---
|
||||
Title: Installment AmountAdjustedDecimal Parsing Rule
|
||||
Metadata:
|
||||
• module: CMH.HFA.Accounting.AccountsReceivable.Common
|
||||
• component: Installment
|
||||
• type: rule
|
||||
• domain: Installments
|
||||
• system: Oracle
|
||||
Content: Purpose: Provides safe decimal parsing of string-based AmountAdjusted field.
|
||||
Parsing Logic:
|
||||
• decimal.TryParse(AmountAdjusted, out var amount)
|
||||
• Returns parsed amount if successful
|
||||
• Returns 0m if parse fails
|
||||
Property: AmountAdjustedDecimal (computed, read-only)
|
||||
Usage: Enables numeric operations on adjustment amounts without exception risk from invalid string values.
|
||||
Example Questions:
|
||||
• How is AmountAdjusted converted to decimal?
|
||||
• What happens if AmountAdjusted parsing fails?
|
||||
• What computed property provides decimal adjustment amount?
|
||||
---
|
||||
Title: CreditMemo UnappliedBalanceDecimal Parsing Rule
|
||||
Metadata:
|
||||
• module: CMH.HFA.Accounting.AccountsReceivable.Common
|
||||
• component: CreditMemo
|
||||
• type: rule
|
||||
• domain: Credit Memos
|
||||
• system: Oracle
|
||||
Content: Purpose: Provides safe decimal parsing of string-based UnappliedBalance field.
|
||||
Parsing Logic:
|
||||
• Decimal.TryParse(UnappliedBalance, out decimal unappliedBalanceDecimal)
|
||||
• Returns parsed value if successful
|
||||
• Returns 0 if parse fails
|
||||
Property: UnappliedBalanceDecimal (computed, read-only)
|
||||
Usage: Enables numeric comparisons and calculations on credit memo balances without exception risk from invalid string values.
|
||||
Example Questions:
|
||||
• How is UnappliedBalance converted to decimal?
|
||||
• What happens if UnappliedBalance parsing fails?
|
||||
• What computed property provides decimal unapplied balance?
|
||||
---
|
||||
This completes the RAG knowledge chunks for the CMH.HFA.Accounting.AccountsReceivable.Common module. Each chunk is atomic, non-overlapping, and optimized for retrieval-augmented generation with precise technical details about common models, integration services, and infrastructure components.
|
||||
Reference in New Issue
Block a user