491 lines
22 KiB
Plaintext
491 lines
22 KiB
Plaintext
RAG Knowledge Chunks for CMH.HFA.Accounting.AccountsReceivable.Adjustments
|
|
---
|
|
Title: InvoiceAdjustment Lambda - Invoice Adjustment Get/Post/Map
|
|
Metadata:
|
|
• module: CMH.HFA.Accounting.AccountsReceivable.Adjustments
|
|
• component: InvoiceAdjustment
|
|
• type: component
|
|
• domain: Invoice Adjustments
|
|
• system: Oracle
|
|
Content: Purpose: AWS Lambda for retrieving, creating, and mapping invoice adjustments in Oracle AR.
|
|
Processing Logic:
|
|
• Get(): Retrieves invoice adjustments by filter criteria via IInvoiceAdjustmentIntegration
|
|
• Post(): Creates new invoice adjustment in Oracle
|
|
• Map(): Filters adjustments list by ReceivablesTrxId, creates mapped adjustment with negated amount
|
|
Key Rules:
|
|
• Throws ArgumentNullException if request is null
|
|
• Map uses ordinal string comparison for ReceivablesTrxId matching
|
|
• Mapped adjustment: Amount negated (*-1), ApplyDate/GlDate set to today
|
|
• Sets OrgId, SetOfBooksId from AdjustmentConfiguration
|
|
Example Questions:
|
|
• How do I create an invoice adjustment in Oracle?
|
|
• Which Lambda maps earned premium invoice adjustments?
|
|
• How are invoice adjustment amounts negated?
|
|
---
|
|
Title: CreditMemoAdjustment Lambda - Credit Memo Adjustment Operations
|
|
Metadata:
|
|
• module: CMH.HFA.Accounting.AccountsReceivable.Adjustments
|
|
• component: CreditMemoAdjustment
|
|
• type: component
|
|
• domain: Credit Memo Adjustments
|
|
• system: Oracle
|
|
Content: Purpose: AWS Lambda for retrieving, creating, and mapping credit memo adjustments in Oracle AR.
|
|
Processing Logic:
|
|
• Get(): Retrieves credit memo adjustments by filter criteria
|
|
• Post(): Creates new credit memo adjustment in Oracle
|
|
• Map(): Filters adjustments by ReceivablesTrxId, creates mapped adjustment with negated amount
|
|
Key Rules:
|
|
• Throws ArgumentNullException if request is null
|
|
• Map uses ordinal string comparison for ReceivablesTrxId matching (trimmed)
|
|
• Mapped adjustment: Amount negated (*-1), ApplyDate/GlDate set to today
|
|
• TransactionAdjustmentType="LINE", AdjustmentType="M", CurrencyCode="USD"
|
|
Example Questions:
|
|
• How do I post a credit memo adjustment?
|
|
• Which Lambda handles credit memo adjustment mapping?
|
|
• What adjustment type is used for credit memos?
|
|
---
|
|
Title: WriteOffAdjustment Lambda - Write-Off Threshold Logic
|
|
Metadata:
|
|
• module: CMH.HFA.Accounting.AccountsReceivable.Adjustments
|
|
• component: WriteOffAdjustment
|
|
• type: component
|
|
• domain: Write-Off Adjustments
|
|
• system: Oracle
|
|
Content: Purpose: Creates write-off adjustments for credit memos and installments below threshold balance.
|
|
Processing Logic:
|
|
• Map1(): Maps credit memo to write-off adjustment if UnappliedBalance within threshold
|
|
• Map2(): Maps installment to write-off adjustment if single open installment within threshold
|
|
• Returns null if balance exceeds WriteOffBalanceThreshold (5.00) or is zero
|
|
Key Rules:
|
|
• WriteOffBalanceThreshold = 5m (decimal)
|
|
• TransactionAdjustmentType="LINE", AdjustmentType="M"
|
|
• Amount negated: Math.Abs(balance) * -1
|
|
• Map2 throws exception if multiple open installments found
|
|
Example Questions:
|
|
• What is the write-off balance threshold?
|
|
• How do I write off small credit memo balances?
|
|
• Which Lambda handles installment write-offs?
|
|
---
|
|
Title: Write-Off Balance Threshold Rule
|
|
Metadata:
|
|
• module: CMH.HFA.Accounting.AccountsReceivable.Adjustments
|
|
• component: WriteOffAdjustment
|
|
• type: rule
|
|
• domain: Write-Off Adjustments
|
|
• system: Oracle
|
|
Content: Purpose: Defines threshold for automatic write-off eligibility.
|
|
Threshold Value: 5.00 (decimal constant WriteOffBalanceThreshold)
|
|
Eligibility Criteria:
|
|
• Credit Memo: 0 < Math.Abs(UnappliedBalanceDecimal) <= 5.00
|
|
• Installment: 0 < Sum(InstallmentBalanceDue) <= 5.00
|
|
• Returns null if balance is zero or exceeds threshold
|
|
Additional Rules:
|
|
• Only "Open" status installments considered
|
|
• Only one open installment allowed for write-off
|
|
• Amount always negated in adjustment
|
|
Example Questions:
|
|
• What is the maximum write-off amount?
|
|
• When is a credit memo eligible for write-off?
|
|
• What balance triggers automatic write-off?
|
|
---
|
|
Title: ServiceFeeAdjustment Lambda - Service Fee Processing
|
|
Metadata:
|
|
• module: CMH.HFA.Accounting.AccountsReceivable.Adjustments
|
|
• component: ServiceFeeAdjustment
|
|
• type: component
|
|
• domain: Service Fee Adjustments
|
|
• system: Oracle
|
|
Content: Purpose: Processes and maps service fee adjustments for open installments.
|
|
Processing Logic:
|
|
• Pre(): Filters open installments with AmountAdjusted > 0, creates adjustment list
|
|
• Map(): Creates reinstatement service fee for earliest open installment within 30 days
|
|
• MapFee(): Creates fee adjustment for earliest open installment if no matching adjustment exists
|
|
• Value(): Returns sum of adjustment amounts from Pre()
|
|
Key Rules:
|
|
• Only "Open" status installments processed (case-insensitive)
|
|
• InstallmentBalanceDue > 0 and AmountAdjustedDecimal > 0 required
|
|
• Amount negated: AmountAdjustedDecimal * -1
|
|
• Earliest installment selected by InstallmentDueDate
|
|
Example Questions:
|
|
• How are service fee adjustments calculated?
|
|
• Which Lambda processes installment service fees?
|
|
• What conditions trigger service fee adjustments?
|
|
---
|
|
Title: Service Fee Adjustment Eligibility Rule
|
|
Metadata:
|
|
• module: CMH.HFA.Accounting.AccountsReceivable.Adjustments
|
|
• component: ServiceFeeAdjustment
|
|
• type: rule
|
|
• domain: Service Fee Adjustments
|
|
• system: Oracle
|
|
Content: Purpose: Defines criteria for service fee adjustment creation on installments.
|
|
Eligibility Criteria (all must be true):
|
|
• InstallmentBalanceDue > 0
|
|
• AmountAdjustedDecimal > 0
|
|
• InstallmentStatus = "Open" (case-insensitive)
|
|
• ReceivablesTrxId matches AdjustmentConfiguration.ReceivableTrxId
|
|
Timing Rule:
|
|
• InstallmentDueDate <= DateTime.Today.AddDays(30)
|
|
• Earliest open installment selected (OrderBy InstallmentDueDate)
|
|
Processing:
|
|
• Requires more than 1 installment
|
|
• Skips if matching adjustment already exists
|
|
Example Questions:
|
|
• When is a service fee adjustment applicable?
|
|
• What date range qualifies for service fee?
|
|
• How are eligible installments identified?
|
|
---
|
|
Title: AdjustmentConfigurationModel - Adjustment Configuration Structure
|
|
Metadata:
|
|
• module: CMH.HFA.Accounting.AccountsReceivable.Adjustments
|
|
• component: AdjustmentConfigurationModel
|
|
• type: concept
|
|
• domain: Adjustment Configuration
|
|
• system: Oracle
|
|
Content: Purpose: Configuration model defining Oracle adjustment transaction parameters.
|
|
Properties:
|
|
• Id (Guid): Unique identifier
|
|
• ReceivableTrxId (string): Oracle receivables transaction ID
|
|
• Name, Type: Configuration identifiers
|
|
• OrgId, SetOfBooksId: Oracle organizational identifiers
|
|
• IsActiveFlag (bool): Active status
|
|
• StartActiveDate, InactiveDate, EndActiveDate: Date range strings
|
|
Usage: Passed in mapping DTOs to provide Oracle-specific configuration values for adjustment creation.
|
|
Example Questions:
|
|
• What fields configure adjustment transactions?
|
|
• How are Oracle org parameters specified?
|
|
• What is ReceivableTrxId used for?
|
|
---
|
|
Title: GetAdjustmentDto - Base Adjustment Query DTO
|
|
Metadata:
|
|
• module: CMH.HFA.Accounting.AccountsReceivable.Adjustments
|
|
• component: GetAdjustmentDto
|
|
• type: concept
|
|
• domain: Adjustment Retrieval
|
|
• system: Oracle
|
|
Content: Purpose: Abstract base DTO for querying adjustments with common filter parameters.
|
|
Properties:
|
|
• AdjustmentNumber (string): Filter by adjustment number
|
|
• AdjustmentId (string): Filter by adjustment ID
|
|
Derived Classes:
|
|
• GetInvoiceAdjustmentDto: Adds InvoiceAdjustmentId property
|
|
• GetCreditMemoAdjustmentDto: Adds CreditMemoAdjustmentId property
|
|
Usage: Provides common query parameters inherited by specific adjustment type queries.
|
|
Example Questions:
|
|
• What parameters filter adjustment queries?
|
|
• How do I query adjustments by number?
|
|
• What is the base DTO for adjustment retrieval?
|
|
---
|
|
Title: MapInvoiceAdjustmentDto - Invoice Adjustment Mapping Input
|
|
Metadata:
|
|
• module: CMH.HFA.Accounting.AccountsReceivable.Adjustments
|
|
• component: MapInvoiceAdjustmentDto
|
|
• type: concept
|
|
• domain: Invoice Adjustments
|
|
• system: Oracle
|
|
Content: Purpose: Input DTO for mapping earned premium invoice adjustments from adjustment list.
|
|
Properties:
|
|
• Adjustments (IList<InvoiceAdjustmentModel>): List of adjustments to filter
|
|
• AdjustmentConfiguration (AdjustmentConfigurationModel): Oracle configuration parameters
|
|
Processing Context:
|
|
• Used by InvoiceAdjustment.Map() to find matching adjustment by ReceivableTrxId
|
|
• Returns mapped adjustment with negated amount and today's dates
|
|
Example Questions:
|
|
• What input is needed for invoice adjustment mapping?
|
|
• How are adjustments filtered for mapping?
|
|
• What DTO provides adjustment configuration?
|
|
---
|
|
Title: MapCreditMemoAdjustmentDto - Credit Memo Adjustment Mapping Input
|
|
Metadata:
|
|
• module: CMH.HFA.Accounting.AccountsReceivable.Adjustments
|
|
• component: MapCreditMemoAdjustmentDto
|
|
• type: concept
|
|
• domain: Credit Memo Adjustments
|
|
• system: Oracle
|
|
Content: Purpose: Input DTO for mapping earned premium credit memo adjustments from adjustment list.
|
|
Properties:
|
|
• Adjustments (IList<CreditMemoAdjustmentModel>): List of credit memo adjustments to filter
|
|
• AdjustmentConfiguration (AdjustmentConfigurationModel): Oracle configuration parameters
|
|
Processing Context:
|
|
• Used by CreditMemoAdjustment.Map() to find matching adjustment by ReceivableTrxId
|
|
• Returns mapped adjustment with negated amount and today's dates
|
|
Example Questions:
|
|
• What input is needed for credit memo adjustment mapping?
|
|
• How do I pass credit memo adjustments for mapping?
|
|
• What configuration is required for credit memo adjustments?
|
|
---
|
|
Title: MapCreditMemoWriteOffAdjustmentDto - Credit Memo Write-Off Input
|
|
Metadata:
|
|
• module: CMH.HFA.Accounting.AccountsReceivable.Adjustments
|
|
• component: MapCreditMemoWriteOffAdjustmentDto
|
|
• type: concept
|
|
• domain: Write-Off Adjustments
|
|
• system: Oracle
|
|
Content: Purpose: Input DTO for creating credit memo write-off adjustments.
|
|
Properties:
|
|
• CreditMemo (CreditMemo): Credit memo with UnappliedBalanceDecimal to write off
|
|
• AdjustmentConfiguration (AdjustmentConfigurationModel): Oracle configuration parameters
|
|
Processing Context:
|
|
• Used by WriteOffAdjustment.Map1() to create write-off for balances <= $5.00
|
|
• Returns null if balance exceeds threshold or is zero
|
|
Example Questions:
|
|
• What input creates credit memo write-off adjustments?
|
|
• How do I pass credit memo data for write-off?
|
|
• What DTO wraps credit memo and configuration?
|
|
---
|
|
Title: MapInstallmentWriteOffAdjustmentDto - Installment Write-Off Input
|
|
Metadata:
|
|
• module: CMH.HFA.Accounting.AccountsReceivable.Adjustments
|
|
• component: MapInstallmentWriteOffAdjustmentDto
|
|
• type: concept
|
|
• domain: Write-Off Adjustments
|
|
• system: Oracle
|
|
Content: Purpose: Input DTO for creating installment write-off adjustments.
|
|
Properties:
|
|
• Installments (IList<Installment>): List of installments to evaluate for write-off
|
|
• AdjustmentConfiguration (AdjustmentConfigurationModel): Oracle configuration parameters
|
|
Processing Context:
|
|
• Used by WriteOffAdjustment.Map2() to create write-off for single open installment
|
|
• Filters for "Open" status installments
|
|
• Returns null if multiple open installments or balance exceeds threshold
|
|
Example Questions:
|
|
• What input creates installment write-off adjustments?
|
|
• How do I pass installments for write-off processing?
|
|
• What DTO handles installment write-off mapping?
|
|
---
|
|
Title: PreProcessServiceFeeAdjustmentDto - Service Fee Pre-Processing Input
|
|
Metadata:
|
|
• module: CMH.HFA.Accounting.AccountsReceivable.Adjustments
|
|
• component: PreProcessServiceFeeAdjustmentDto
|
|
• type: concept
|
|
• domain: Service Fee Adjustments
|
|
• system: Oracle
|
|
Content: Purpose: Input DTO for pre-processing service fee adjustments on installments.
|
|
Properties:
|
|
• Installments (IList<Installment>): List of installments to process
|
|
• Adjustments (IList<InvoiceAdjustmentModel>): Existing adjustments
|
|
• AdjustmentConfiguration (AdjustmentConfigurationModel): Oracle configuration parameters
|
|
Processing Context:
|
|
• Used by ServiceFeeAdjustment.Pre() to create adjustments for open installments with service fees
|
|
• Matches installments to adjustments by PaymentScheduleId
|
|
• Filters for InstallmentBalanceDue > 0, AmountAdjustedDecimal > 0, Status="Open"
|
|
Example Questions:
|
|
• What input is needed for service fee pre-processing?
|
|
• How are installments and adjustments passed together?
|
|
• What DTO handles service fee adjustment creation?
|
|
---
|
|
Title: PreProcessReinstatementServiceFeeAdjustmentDto - Reinstatement Fee Input
|
|
Metadata:
|
|
• module: CMH.HFA.Accounting.AccountsReceivable.Adjustments
|
|
• component: PreProcessReinstatementServiceFeeAdjustmentDto
|
|
• type: concept
|
|
• domain: Service Fee Adjustments
|
|
• system: Oracle
|
|
Content: Purpose: Input DTO for creating reinstatement service fee adjustments.
|
|
Properties:
|
|
• Installments (IList<Installment>): List of installments to evaluate
|
|
• Invoice (OracleInvoice): Invoice containing InstallmentFee value
|
|
• AdjustmentConfiguration (AdjustmentConfigurationModel): Oracle configuration parameters
|
|
Processing Context:
|
|
• Used by ServiceFeeAdjustment.Map() for reinstatement scenarios
|
|
• Selects earliest open installment within 30 days of due date
|
|
• Uses Invoice.InstallmentFee as adjustment amount
|
|
Example Questions:
|
|
• What input creates reinstatement service fee adjustments?
|
|
• How is installment fee passed for reinstatement?
|
|
• What DTO handles reinstatement fee processing?
|
|
---
|
|
Title: MapServiceFeeAdjustmentDto - Service Fee Mapping Input
|
|
Metadata:
|
|
• module: CMH.HFA.Accounting.AccountsReceivable.Adjustments
|
|
• component: MapServiceFeeAdjustmentDto
|
|
• type: concept
|
|
• domain: Service Fee Adjustments
|
|
• system: Oracle
|
|
Content: Purpose: Input DTO for mapping service fee adjustments to invoices.
|
|
Properties:
|
|
• Installments (IList<Installment>): Installments for fee allocation
|
|
• Invoice (OracleInvoice): Invoice to apply fee adjustment
|
|
• Adjustments (IList<InvoiceAdjustmentModel>): Existing adjustments to check
|
|
• AdjustmentConfiguration (AdjustmentConfigurationModel): Oracle configuration
|
|
Processing Context:
|
|
• Used by ServiceFeeAdjustment.MapFee() to create fee adjustment if none exists
|
|
• Checks for matching ReceivableTrxId and PaymentScheduleId
|
|
• Creates adjustment only if earliest open installment within 30 days and no match found
|
|
Example Questions:
|
|
• What input maps service fee to invoice?
|
|
• How do I check for existing service fee adjustments?
|
|
• What DTO handles service fee invoice mapping?
|
|
---
|
|
Title: OracleInvoiceAdjustment Integration - Invoice Adjustment API
|
|
Metadata:
|
|
• module: CMH.HFA.Accounting.AccountsReceivable.Adjustments
|
|
• component: OracleInvoiceAdjustment
|
|
• type: component
|
|
• domain: Invoice Adjustments
|
|
• system: Oracle OIC
|
|
Content: Purpose: Oracle Integration Cloud (OIC) client for invoice adjustment operations.
|
|
Interface Methods:
|
|
• GetInvoiceAdjustmentsAsync(): Retrieves invoice adjustments by query parameters
|
|
• PostInvoiceAdjustmentAsync(): Posts new invoice adjustment to Oracle
|
|
Implementation:
|
|
• Inherits from OracleBaseAdjustment
|
|
• Delegates to base GetAdjustmentsAsync<T> and PostAdjustmentsAsync<T>
|
|
• Passes InvoiceAdjustmentId as customerTrxId parameter
|
|
Example Questions:
|
|
• How do I integrate with Oracle invoice adjustment API?
|
|
• Which integration retrieves invoice adjustments?
|
|
• What interface defines invoice adjustment operations?
|
|
---
|
|
Title: OracleCreditMemoAdjustment Integration - Credit Memo Adjustment API
|
|
Metadata:
|
|
• module: CMH.HFA.Accounting.AccountsReceivable.Adjustments
|
|
• component: OracleCreditMemoAdjustment
|
|
• type: component
|
|
• domain: Credit Memo Adjustments
|
|
• system: Oracle OIC
|
|
Content: Purpose: Oracle Integration Cloud (OIC) client for credit memo adjustment operations.
|
|
Interface Methods:
|
|
• GetCreditMemoAdjustmentsAsync(): Retrieves credit memo adjustments by query parameters
|
|
• PostCreditMemoAdjustmentAsync(): Posts new credit memo adjustment to Oracle
|
|
Implementation:
|
|
• Inherits from OracleBaseAdjustment
|
|
• Delegates to base GetAdjustmentsAsync<T> and PostAdjustmentsAsync<T>
|
|
• Passes CreditMemoAdjustmentId as customerTrxId parameter
|
|
Example Questions:
|
|
• How do I integrate with Oracle credit memo adjustment API?
|
|
• Which integration posts credit memo adjustments?
|
|
• What interface defines credit memo adjustment operations?
|
|
---
|
|
Title: OracleBaseAdjustment - Base Adjustment Integration
|
|
Metadata:
|
|
• module: CMH.HFA.Accounting.AccountsReceivable.Adjustments
|
|
• component: OracleBaseAdjustment
|
|
• type: component
|
|
• domain: Adjustments
|
|
• system: Oracle OIC
|
|
Content: Purpose: Abstract base class for Oracle adjustment API integrations.
|
|
Endpoint:
|
|
• AdjustmentEndpoint: "/ic/api/integration/v1/flows/rest/CHI_ADJUSTMENT_API/1.0/Adjustment"
|
|
Methods:
|
|
• GetAdjustmentsAsync<TOut>(): GET with query params (CustomerTrxId, AdjustmentId, AdjustmentNumber), returns ARAdjustments array from JSON
|
|
• PostAdjustmentsAsync<T>(): POST with JSON body, returns deserialized response
|
|
Key Rules:
|
|
• Allows HTTP 404 status on GET requests
|
|
• Extracts adjustments from JObject["ARAdjustments"]
|
|
• Returns empty list if null
|
|
Example Questions:
|
|
• What is the Oracle adjustment API endpoint?
|
|
• How are adjustment query parameters passed?
|
|
• Which base class handles adjustment API calls?
|
|
---
|
|
Title: Adjustment Mapping Amount Negation Rule
|
|
Metadata:
|
|
• module: CMH.HFA.Accounting.AccountsReceivable.Adjustments
|
|
• component: InvoiceAdjustment, CreditMemoAdjustment, WriteOffAdjustment, ServiceFeeAdjustment
|
|
• type: rule
|
|
• domain: Adjustments
|
|
• system: Oracle
|
|
Content: Purpose: Defines amount transformation rule for adjustment mapping across all adjustment types.
|
|
Negation Formula:
|
|
• Invoice/CreditMemo Earned Premium: (decimal.Parse(Amount) * -1).ToString()
|
|
• Write-Off Credit Memo: (Math.Abs(UnappliedBalanceDecimal) * -1).ToString()
|
|
• Write-Off Installment: (InstallmentBalanceDue * -1).ToString()
|
|
• Service Fee: (AmountAdjustedDecimal * -1).ToString()
|
|
Key Rule: All adjustment amounts are negated (*-1) during mapping to reverse original transaction amounts.
|
|
Example Questions:
|
|
• Why are adjustment amounts negated?
|
|
• How are adjustment amounts calculated?
|
|
• What transformation is applied to adjustment amounts?
|
|
---
|
|
Title: Adjustment Common Field Values
|
|
Metadata:
|
|
• module: CMH.HFA.Accounting.AccountsReceivable.Adjustments
|
|
• component: All Adjustment Lambdas
|
|
• type: rule
|
|
• domain: Adjustments
|
|
• system: Oracle
|
|
Content: Purpose: Defines standard field values consistently applied across all adjustment types.
|
|
Standard Values:
|
|
• TransactionAdjustmentType: "LINE"
|
|
• AdjustmentType: "M"
|
|
• CurrencyCode: "USD"
|
|
• ApplyDate: DateOnly.FromDateTime(DateTime.Today)
|
|
• GlDate: DateOnly.FromDateTime(DateTime.Today)
|
|
Configuration-Derived Values:
|
|
• OrgId: From AdjustmentConfiguration.OrgId
|
|
• SetOfBooksId: From AdjustmentConfiguration.SetOfBooksId
|
|
• ReceivablesTrxId: From AdjustmentConfiguration.ReceivableTrxId
|
|
Example Questions:
|
|
• What adjustment type code is used?
|
|
• What currency is used for adjustments?
|
|
• What GL date is set for adjustments?
|
|
---
|
|
Title: Adjustment Workflow - Earned Premium Reversal
|
|
Metadata:
|
|
• module: CMH.HFA.Accounting.AccountsReceivable.Adjustments
|
|
• component: InvoiceAdjustment, CreditMemoAdjustment
|
|
• type: workflow
|
|
• domain: Invoice/Credit Memo Adjustments
|
|
• system: Oracle
|
|
Content: Purpose: Describes workflow for reversing earned premium via invoice or credit memo adjustments.
|
|
Workflow Steps:
|
|
1. Retrieve existing adjustments list from Oracle
|
|
2. Filter adjustments: match ReceivablesTrxId (trimmed, ordinal comparison) to AdjustmentConfiguration.ReceivableTrxId
|
|
3. If match found, create new adjustment copying matched values
|
|
4. Negate amount: (decimal.Parse(match.Amount) * -1).ToString()
|
|
5. Set ApplyDate and GlDate to today
|
|
6. Set OrgId, SetOfBooksId from AdjustmentConfiguration
|
|
7. Post new adjustment to Oracle via integration
|
|
Example Questions:
|
|
• How are earned premium adjustments reversed?
|
|
• What workflow maps adjustment amounts?
|
|
• How is ReceivablesTrxId matched for adjustments?
|
|
---
|
|
Title: Service Fee Adjustment Workflow - Open Installment Processing
|
|
Metadata:
|
|
• module: CMH.HFA.Accounting.AccountsReceivable.Adjustments
|
|
• component: ServiceFeeAdjustment
|
|
• type: workflow
|
|
• domain: Service Fee Adjustments
|
|
• system: Oracle
|
|
Content: Purpose: Describes workflow for creating service fee adjustments on open installments.
|
|
Workflow Steps:
|
|
1. Match installments to adjustments by PaymentScheduleId (InstallmentId)
|
|
2. Filter for: InstallmentBalanceDue > 0, AmountAdjustedDecimal > 0, Status="Open", ReceivablesTrxId match
|
|
3. For each eligible installment, create InvoiceAdjustmentModel
|
|
4. Set Amount to (AmountAdjustedDecimal * -1)
|
|
5. Set CustomerTrxId from TransactionId
|
|
6. Set TransactionAdjustmentType="LINE", AdjustmentType="M"
|
|
7. Apply dates and configuration values
|
|
8. Return list of adjustments for posting
|
|
Example Questions:
|
|
• How are service fees matched to installments?
|
|
• What workflow creates service fee adjustments?
|
|
• How are installments filtered for service fee processing?
|
|
---
|
|
Title: Write-Off Adjustment Workflow - Threshold-Based Creation
|
|
Metadata:
|
|
• module: CMH.HFA.Accounting.AccountsReceivable.Adjustments
|
|
• component: WriteOffAdjustment
|
|
• type: workflow
|
|
• domain: Write-Off Adjustments
|
|
• system: Oracle
|
|
Content: Purpose: Describes workflow for creating write-off adjustments based on balance threshold.
|
|
Workflow Steps (Credit Memo):
|
|
1. Check UnappliedBalanceDecimal != 0 and Math.Abs(UnappliedBalanceDecimal) <= 5.00
|
|
2. If within threshold, create adjustment with negated absolute value
|
|
3. Otherwise return null
|
|
Workflow Steps (Installment):
|
|
1. Filter for InstallmentStatus="Open"
|
|
2. Check sum(InstallmentBalanceDue) > 0 and <= 5.00
|
|
3. Ensure exactly one open installment (throw exception if multiple)
|
|
4. Create adjustment with negated balance
|
|
5. Otherwise return null
|
|
Example Questions:
|
|
• How are write-offs created based on balance?
|
|
• What workflow checks write-off threshold?
|
|
• When is a write-off adjustment generated?
|
|
---
|
|
This completes the RAG knowledge chunks for the CMH.HFA.Accounting.AccountsReceivable.Adjustments module. Each chunk is atomic, non-overlapping, and optimized for retrieval-augmented generation systems with precise technical information.
|