Skip to main content

Payment Schedules - Business Concepts

Overview

Payment Schedules define how a total payment amount is automatically split into multiple installment payments over time. They provide a structured, rules-based approach to breaking down large payments into manageable amounts with predefined timing.

Think of a Payment Schedule as a "payment blueprint" - when you apply it to an invoice or transaction, it automatically calculates the payment amounts and dates based on the rules you've configured.

Key Business Concepts

1. What is a Payment Schedule?

A Payment Schedule is a reusable template that defines:

  • How much to pay in each installment (allocation method)
  • When to pay each installment (payment frequency)
  • How many installments to create
  • Limits on minimum and maximum payment amounts

Once configured, a payment schedule can be:

  • Assigned to customer or vendor accounts as their default payment terms
  • Applied to individual invoices to override default terms
  • Used across multiple transactions consistently

2. Allocation Methods

The system supports three allocation methods that determine how the total amount is split into individual payments:

Fixed Allocation

Purpose: Split payments into equal fixed amounts with any remainder added to the final payment.

How it works:

  1. Each payment is set to the Fixed Payment Amount
  2. The total is divided by the fixed amount to determine the number of payments
  3. Any remaining amount is added to the last payment

Configuration:

  • Fixed Payment Amount: Required - The amount for each installment
  • Number of Payments: Not used (calculated automatically)
  • Minimum Payment Amount: Optional - Validates the final payment isn't too small
  • Maximum Payment Amount: Optional - Validates payments don't exceed limit

Example 1: Even Division

Total Invoice: $10,000.00
Fixed Payment Amount: $2,000.00
Payment Frequency: Monthly

Result:
Payment 1 (Due: Jan 15): $2,000.00
Payment 2 (Due: Feb 15): $2,000.00
Payment 3 (Due: Mar 15): $2,000.00
Payment 4 (Due: Apr 15): $2,000.00
Payment 5 (Due: May 15): $2,000.00

Total: $10,000.00 (5 equal payments)

Example 2: With Remainder

Total Invoice: $11,500.00
Fixed Payment Amount: $2,000.00
Payment Frequency: Monthly

Result:
Payment 1 (Due: Jan 15): $2,000.00
Payment 2 (Due: Feb 15): $2,000.00
Payment 3 (Due: Mar 15): $2,000.00
Payment 4 (Due: Apr 15): $2,000.00
Payment 5 (Due: May 15): $2,000.00
Payment 6 (Due: Jun 15): $1,500.00 ← Remainder added to final payment

Total: $11,500.00 (5 fixed + 1 remainder)

Example 3: With Minimum Payment Validation

Total Invoice: $4,100.00
Fixed Payment Amount: $2,000.00
Minimum Payment Amount: $500.00
Payment Frequency: Monthly

Result:
Payment 1 (Due: Jan 15): $2,000.00
Payment 2 (Due: Feb 15): $2,100.00 ← Remainder $100 + $2,000 (exceeds minimum)

If remainder were $50 (below minimum $500), it would be added to the last payment:
Payment 1 (Due: Jan 15): $2,000.00
Payment 2 (Due: Feb 15): $2,050.00

Best For:

  • Equipment leases with fixed monthly payments
  • Subscription services with standard pricing
  • Installment plans with predictable amounts

Fixed Quantity Allocation

Purpose: Split the total amount into a specific number of equal payments.

How it works:

  1. Total amount is divided by the number of payments
  2. Each payment receives an equal share
  3. Any rounding remainder is added to the final payment

Configuration:

  • Number of Payments: Required - How many installments to create
  • Fixed Payment Amount: Not used
  • Minimum Payment Amount: Optional - Validates each payment isn't too small
  • Maximum Payment Amount: Optional - Validates payments don't exceed limit

Example 1: Equal Division

Total Invoice: $12,000.00
Number of Payments: 4
Payment Frequency: Quarterly

Calculation: $12,000 ÷ 4 = $3,000.00 per payment

Result:
Payment 1 (Due: Jan 15): $3,000.00
Payment 2 (Due: Apr 15): $3,000.00
Payment 3 (Due: Jul 15): $3,000.00
Payment 4 (Due: Oct 15): $3,000.00

Total: $12,000.00 (4 equal payments)

Example 2: With Rounding

Total Invoice: $10,000.00
Number of Payments: 3
Payment Frequency: Monthly

Calculation: $10,000 ÷ 3 = $3,333.33 per payment (with rounding)

Result:
Payment 1 (Due: Jan 15): $3,333.33
Payment 2 (Due: Feb 15): $3,333.33
Payment 3 (Due: Mar 15): $3,333.34 ← Extra penny from rounding

Total: $10,000.00

Example 3: Different Frequencies

Total Invoice: $24,000.00
Number of Payments: 6
Payment Frequency: Biweekly

Calculation: $24,000 ÷ 6 = $4,000.00 per payment

Result:
Payment 1 (Due: Jan 1): $4,000.00
Payment 2 (Due: Jan 15): $4,000.00
Payment 3 (Due: Jan 29): $4,000.00
Payment 4 (Due: Feb 12): $4,000.00
Payment 5 (Due: Feb 26): $4,000.00
Payment 6 (Due: Mar 11): $4,000.00

Total: $24,000.00 (6 equal payments over 10 weeks)

Example 4: With Maximum Payment Constraint

Total Invoice: $20,000.00
Number of Payments: 3
Maximum Payment Amount: $8,000.00
Payment Frequency: Monthly

Calculation: $20,000 ÷ 3 = $6,666.67 per payment

Result:
Payment 1 (Due: Jan 15): $6,666.67 ✓ Below maximum
Payment 2 (Due: Feb 15): $6,666.67 ✓ Below maximum
Payment 3 (Due: Mar 15): $6,666.66 ✓ Below maximum

Total: $20,000.00

If we tried Number of Payments: 2
Calculation: $20,000 ÷ 2 = $10,000.00 per payment
❌ ERROR: Payment amount $10,000 exceeds maximum allowed $8,000

Best For:

  • Project milestones with equal progress payments
  • Salary advances split over fixed number of pay periods
  • Vendor payments spread evenly over fiscal quarters

Custom Allocation

Purpose: Define specific amounts or percentages for each payment with full control over timing.

How it works:

  1. You manually define each payment as a line item
  2. Each line specifies: payment type (percentage or fixed amount), the value, and periods after due date
  3. System validates that percentages don't exceed 100% or fixed amounts don't exceed the total

Configuration:

  • Payment Schedule Lines: Required - One line per payment
    • Line Number: Sequential number (1, 2, 3...)
    • Payment Type: Percent or Fixed Amount
    • Amount: The percentage (e.g., 30 for 30%) or fixed amount
    • Periods After Due Date: How many payment periods to wait before this payment

Payment Type Restriction: All lines must use the same payment type - either all percentages OR all fixed amounts, not mixed.

Example 1: Percentage-Based Milestone Payments

Total Invoice: $100,000.00
Payment Frequency: Monthly

Payment Schedule Lines:
Line 1: 30% - 0 periods after due date (immediate)
Line 2: 30% - 1 period after due date
Line 3: 20% - 2 periods after due date
Line 4: 20% - 3 periods after due date

Result:
Payment 1 (Due: Jan 1): $30,000.00 (30% of $100,000)
Payment 2 (Due: Feb 1): $30,000.00 (30% of $100,000)
Payment 3 (Due: Mar 1): $20,000.00 (20% of $100,000)
Payment 4 (Due: Apr 1): $20,000.00 (20% of $100,000)

Total: $100,000.00 (100% allocated)

Example 2: Progressive Payment Structure

Total Invoice: $50,000.00
Payment Frequency: Biweekly

Payment Schedule Lines:
Line 1: 10% - 0 periods (Deposit)
Line 2: 25% - 2 periods (First milestone)
Line 3: 35% - 4 periods (Second milestone)
Line 4: 30% - 6 periods (Final payment)

Result:
Payment 1 (Due: Jan 1): $5,000.00 (10% - Deposit)
Payment 2 (Due: Jan 29): $12,500.00 (25% - First milestone)
Payment 3 (Due: Feb 26): $17,500.00 (35% - Second milestone)
Payment 4 (Due: Mar 25): $15,000.00 (30% - Final payment)

Total: $50,000.00

Example 3: Fixed Amount Custom Schedule

Total Invoice: $45,000.00
Payment Frequency: Monthly

Payment Schedule Lines:
Line 1: $15,000 - 0 periods (Upfront)
Line 2: $10,000 - 1 period
Line 3: $10,000 - 2 periods
Line 4: $10,000 - 3 periods

Result:
Payment 1 (Due: Jan 15): $15,000.00
Payment 2 (Due: Feb 15): $10,000.00
Payment 3 (Due: Mar 15): $10,000.00
Payment 4 (Due: Apr 15): $10,000.00

Total: $45,000.00

Example 4: Validation - Percentage Exceeds 100%

Payment Schedule Lines:
Line 1: 40% - 0 periods
Line 2: 50% - 1 period
Line 3: 20% - 2 periods

❌ ERROR: Total percentage allocation 110% exceeds 100%

Example 5: Validation - Mixed Payment Types

Payment Schedule Lines:
Line 1: 50% (Percent) - 0 periods
Line 2: $5,000 (Fixed Amount) - 1 period

❌ ERROR: Payment lines must be of the same type

Best For:

  • Construction projects with milestone-based payments
  • Software development with progress-based billing
  • Complex vendor agreements with custom payment terms
  • Marketing campaigns with phased budget releases

3. Payment Frequencies

Payment Frequency determines the time interval between consecutive payments. The system supports seven standard frequencies:

FrequencyIntervalDescriptionCommon Use Case
Daily1 dayPayment every dayShort-term cash advances
Weekly7 daysPayment every weekWeekly service contracts
Biweekly14 daysPayment every two weeksEmployee salary advances
Monthly1 monthPayment every monthStandard payment terms
Quarterly3 monthsPayment every quarterSeasonal vendors, consulting retainers
Semi-Annual6 monthsPayment twice per yearInsurance premiums, licenses
Annual1 yearPayment once per yearAnnual subscriptions, leases

Date Calculation Examples:

Monthly Frequency:

Due Date: January 15, 2024
Number of Payments: 4

Result:
Payment 1: January 15, 2024
Payment 2: February 15, 2024
Payment 3: March 15, 2024
Payment 4: April 15, 2024

Quarterly Frequency:

Due Date: January 1, 2024
Number of Payments: 4

Result:
Payment 1: January 1, 2024 (Q1)
Payment 2: April 1, 2024 (Q2)
Payment 3: July 1, 2024 (Q3)
Payment 4: October 1, 2024 (Q4)

Biweekly Frequency:

Due Date: January 5, 2024
Number of Payments: 3

Result:
Payment 1: January 5, 2024
Payment 2: January 19, 2024 (+14 days)
Payment 3: February 2, 2024 (+14 days)

4. Payment Schedule Properties

Required Properties

Name

  • Purpose: Unique identifier for the payment schedule
  • Format: Alphanumeric, no length limit
  • Example: "NET30-3INST", "QUARTERLY-EQUAL", "PROJECT-MILESTONES"

Description

  • Purpose: Human-readable explanation of the schedule's purpose
  • Example: "Net 30 days with 3 equal installments", "Quarterly payments for annual contracts"

Currency Code

  • Purpose: The currency for all payment amounts
  • Format: ISO 4217 currency code (USD, EUR, AED, etc.)
  • Validation: Must be a valid currency configured in the system

Payment Frequency

  • Purpose: Time interval between payments
  • Options: Daily, Weekly, Biweekly, Monthly, Quarterly, Semi-Annual, Annual

Allocation Method

  • Purpose: How to split the total amount
  • Options: Fixed, Fixed Quantity, Custom

Conditional Properties

Fixed Payment Amount

  • Required For: Fixed allocation method
  • Not Used For: Fixed Quantity, Custom
  • Validation: Must be greater than zero
  • Validation: Must be >= Minimum Payment Amount (if specified)
  • Validation: Must be <= Maximum Payment Amount (if specified)

Number of Payments

  • Required For: Fixed Quantity allocation method
  • Not Used For: Fixed allocation (auto-calculated), Custom (defined by lines)
  • Validation: Must be greater than zero

Optional Constraint Properties

Minimum Payment Amount

  • Purpose: Ensures no payment falls below a threshold
  • Applies To: All allocation methods
  • Example Use: "No payment should be less than $100"
  • Validation: Performed during allocation calculation

Maximum Payment Amount

  • Purpose: Ensures no payment exceeds a limit
  • Applies To: All allocation methods
  • Example Use: "No payment should exceed $10,000"
  • Validation: Performed during allocation calculation

Installment Maximum Amount

  • Purpose: Additional constraint on installment size
  • Current Status: Defined in schema but not actively used in calculations
  • Future Use: May be used for advanced payment controls

5. How Payment Schedules Work in Practice

Step 1: Create Payment Schedule

Define the payment schedule once with all rules and constraints:

Schedule: "QUARTERLY-4PMT"
Description: "Quarterly payments over one year"
Currency: USD
Allocation Method: Fixed Quantity
Number of Payments: 4
Payment Frequency: Quarterly
Minimum Payment Amount: $1,000.00
Maximum Payment Amount: $50,000.00

Step 2: Assign to Customer or Vendor

Set the payment schedule as the default for a customer:

Customer: CUST-001 (ABC Corporation)
Default Payment Schedule: "QUARTERLY-4PMT"

Step 3: Create Invoice

When you create an invoice, the payment schedule is automatically applied:

Sales Invoice: INV-2024-001
Customer: CUST-001
Total Amount: $48,000.00
Due Date: January 15, 2024
Payment Schedule: QUARTERLY-4PMT (inherited from customer)

Step 4: System Generates Scheduled Payments

The system automatically calculates the payment allocations:

Allocation Calculation:
- Total: $48,000.00
- Number of Payments: 4
- Base Payment: $48,000 ÷ 4 = $12,000.00
- Check Constraints: $12,000 is between $1,000 (min) and $50,000 (max) ✓

Generated Scheduled Payments:
Payment 1: $12,000.00 - Due: Jan 15, 2024
Payment 2: $12,000.00 - Due: Apr 15, 2024
Payment 3: $12,000.00 - Due: Jul 15, 2024
Payment 4: $12,000.00 - Due: Oct 15, 2024

Step 5: Payment Collection

As payments come due:

  • The system tracks which payments are due
  • Collections team receives notifications
  • Actual payments are recorded against scheduled payments
  • Outstanding balance is updated

6. Common Business Scenarios

Scenario 1: Standard Net 30 with 3 Monthly Installments

Business Need: Extend payment terms to improve customer cash flow.

Setup:

Name: "NET30-3MONTHLY"
Description: "Net 30 days, 3 equal monthly payments"
Currency: USD
Allocation Method: Fixed Quantity
Number of Payments: 3
Payment Frequency: Monthly

Application:

Invoice Amount: $15,000.00
Invoice Date: January 1, 2024
Due Date: February 1, 2024 (Net 30)

Result:
Payment 1: $5,000.00 - Due: Feb 1, 2024
Payment 2: $5,000.00 - Due: Mar 1, 2024
Payment 3: $5,000.00 - Due: Apr 1, 2024

Scenario 2: Construction Project with Milestone Payments

Business Need: Align payments with project completion stages.

Setup:

Name: "CONSTRUCTION-MILESTONE"
Description: "Construction project milestone payments"
Currency: USD
Allocation Method: Custom
Payment Frequency: Monthly

Payment Schedule Lines:
Line 1: 20% - 0 periods (Contract signing)
Line 2: 25% - 1 period (Foundation complete)
Line 3: 30% - 3 periods (Structure complete)
Line 4: 20% - 5 periods (Finishes complete)
Line 5: 5% - 6 periods (Retention)

Application:

Project Contract: $500,000.00
Contract Date: January 1, 2024

Result:
Payment 1: $100,000.00 - Due: Jan 1, 2024 (20% - Signing)
Payment 2: $125,000.00 - Due: Feb 1, 2024 (25% - Foundation)
Payment 3: $150,000.00 - Due: Apr 1, 2024 (30% - Structure)
Payment 4: $100,000.00 - Due: Jun 1, 2024 (20% - Finishes)
Payment 5: $25,000.00 - Due: Jul 1, 2024 (5% - Retention)

Scenario 3: Equipment Lease with Fixed Monthly Payments

Business Need: Lease equipment with predictable fixed monthly payments.

Setup:

Name: "LEASE-MONTHLY-2500"
Description: "Equipment lease - $2,500 monthly"
Currency: USD
Allocation Method: Fixed
Fixed Payment Amount: $2,500.00
Payment Frequency: Monthly
Minimum Payment Amount: $500.00

Application:

Equipment Lease Total: $30,000.00
Lease Start Date: January 1, 2024

Result:
Payment 1: $2,500.00 - Due: Jan 1, 2024
Payment 2: $2,500.00 - Due: Feb 1, 2024
Payment 3: $2,500.00 - Due: Mar 1, 2024
... (continues for 12 months)
Payment 12: $2,500.00 - Due: Dec 1, 2024

Total: $30,000.00 (12 × $2,500)

With Remainder Example:

Equipment Lease Total: $31,200.00
Fixed Payment Amount: $2,500.00
Minimum Payment Amount: $500.00

Result:
Payment 1-12: $2,500.00 each = $30,000.00
Payment 13: $1,200.00 - Due: Jan 1, 2025 (remainder)

Total: $31,200.00 (12 × $2,500 + $1,200)

Scenario 4: Quarterly Vendor Payments

Business Need: Pay vendor in 4 equal quarterly installments.

Setup:

Name: "QUARTERLY-4EQUAL"
Description: "Four equal quarterly payments"
Currency: USD
Allocation Method: Fixed Quantity
Number of Payments: 4
Payment Frequency: Quarterly

Application:

Annual Service Contract: $120,000.00
Contract Start: January 1, 2024

Result:
Payment 1: $30,000.00 - Due: Jan 1, 2024 (Q1)
Payment 2: $30,000.00 - Due: Apr 1, 2024 (Q2)
Payment 3: $30,000.00 - Due: Jul 1, 2024 (Q3)
Payment 4: $30,000.00 - Due: Oct 1, 2024 (Q4)

7. Validation Rules and Error Handling

Configuration Validation

Rule 1: Fixed Payment Amount Constraints

Scenario: Fixed Payment Amount < Minimum Payment Amount
Setup:
- Fixed Payment Amount: $800.00
- Minimum Payment Amount: $1,000.00

❌ ERROR: "Fixed payment amount must be at least equal to minimum payment amount"

Rule 2: Fixed Payment Amount vs Maximum

Scenario: Fixed Payment Amount > Maximum Payment Amount
Setup:
- Fixed Payment Amount: $15,000.00
- Maximum Payment Amount: $10,000.00

❌ ERROR: "Fixed payment amount exceeds maximum allowed"

Rule 3: Custom Allocation Percentage Total

Scenario: Percentage lines total exceeds 100%
Setup:
- Line 1: 50%
- Line 2: 40%
- Line 3: 30%

Total: 120%

❌ ERROR: "Total percentage allocation 120% exceeds 100%"

Rule 4: Custom Allocation Payment Type Consistency

Scenario: Mixed payment types in lines
Setup:
- Line 1: 30% (Percent)
- Line 2: $5,000 (Fixed Amount)

❌ ERROR: "Payment lines must be of the same type"

Runtime Allocation Validation

Rule 5: Minimum Payment Feasibility

Scenario: Total amount too small for minimum payments
Setup:
- Total Amount: $1,000.00
- Number of Payments: 5
- Minimum Payment Amount: $500.00

Calculation: $1,000 ÷ 5 = $200 per payment

❌ ERROR: "Total amount $1,000 is too small to be divided into 5 payments
while respecting minimum payment amount of $500"

Rule 6: Maximum Payment Feasibility

Scenario: Total amount too large for maximum payments
Setup:
- Total Amount: $100,000.00
- Number of Payments: 3
- Maximum Payment Amount: $20,000.00

Calculation: $100,000 ÷ 3 = $33,333.33 per payment

❌ ERROR: "Total amount $100,000 is too large to be divided into 3 payments
while respecting maximum payment amount of $20,000"

8. Integration with Other Modules

Accounts Receivable Integration

Customer Default Payment Schedule:

  • Each customer can have a default payment schedule
  • Applied automatically to new sales invoices
  • Can be overridden on individual invoices

Invoice Posting:

When a sales invoice is posted:
1. System reads the payment schedule from the invoice
2. Calls payment schedule to generate allocations
3. Creates ScheduledPayment records
4. Publishes domain event: SalesInvoiceCreditPaymentScheduledDomainEvent

Accounts Payable Integration

Vendor Default Payment Schedule:

  • Each vendor can have a default payment schedule
  • Applied automatically to new purchase invoices
  • Can be overridden on individual invoices

Invoice Posting:

When a purchase invoice is posted:
1. System reads the payment schedule from the invoice
2. Calls payment schedule to generate allocations
3. Creates ScheduledPayment records
4. Publishes domain event: VendorInvoiceCreditPaymentScheduledDomainEvent

9. Best Practices

Naming Conventions

Use descriptive names that indicate:

  • The allocation method
  • The frequency
  • The number of payments or fixed amount

Good Examples:

  • QUARTERLY-4PMT: Quarterly payments, 4 installments
  • MONTHLY-FIXED-2500: Monthly payments, $2,500 each
  • MILESTONE-5STAGE: Custom milestone payments, 5 stages
  • NET30-3EQUAL: Net 30 days, 3 equal payments

Bad Examples:

  • SCHEDULE1: Not descriptive
  • PAYMENT: Too generic
  • ABC: Meaningless abbreviation

When to Use Each Allocation Method

Use Fixed Allocation when:

  • You have a standard fixed payment amount (e.g., lease payments)
  • The number of payments varies based on the total
  • You want consistent payment amounts

Use Fixed Quantity Allocation when:

  • You want a specific number of payments
  • Equal distribution is appropriate
  • The payment amount can vary based on the total

Use Custom Allocation when:

  • Payments are tied to milestones or deliverables
  • You need unequal payment amounts
  • Payment timing is irregular
  • You're using percentage-based terms

Currency Considerations

  • Always set the currency code explicitly
  • Use one payment schedule per currency
  • Don't try to apply a USD schedule to a EUR invoice

Good Practice:

Schedule: QUARTERLY-4PMT-USD (for USD invoices)
Schedule: QUARTERLY-4PMT-EUR (for EUR invoices)
Schedule: QUARTERLY-4PMT-AED (for AED invoices)

Constraint Setting

Minimum Payment Amount:

  • Set this to avoid tiny final payments
  • Consider transaction fees and processing costs
  • Typical values: $100, $500, $1,000

Maximum Payment Amount:

  • Use to enforce payment limits
  • Consider credit limits and approval thresholds
  • Typical use: Auto-approval limits

10. Troubleshooting Common Issues

Issue 1: Remainder Payment Too Small

Problem: The last payment is less than the minimum.

Cause: Fixed allocation with strict minimum payment amount.

Solution: Adjust the fixed payment amount or minimum payment amount.

Example:

Total: $10,100
Fixed Amount: $2,000
Minimum: $500

Payment 1-5: $2,000 each = $10,000
Payment 6: $100 ← Below minimum

Fix: Change Fixed Amount to $2,020
Payment 1-5: $2,020 each = $10,100 ← Perfect division

Issue 2: Cannot Divide Amount Evenly

Problem: Fixed Quantity allocation with constraints makes division impossible.

Cause: Number of payments conflicts with min/max constraints.

Solution: Adjust number of payments or relax constraints.

Example:

Total: $100,000
Number of Payments: 3
Maximum Payment: $20,000

$100,000 ÷ 3 = $33,333.33 ← Exceeds maximum

Fix Option 1: Increase number of payments to 5
$100,000 ÷ 5 = $20,000 ← Within maximum

Fix Option 2: Increase maximum payment to $35,000

Issue 3: Custom Percentages Don't Total 100%

Problem: Validation error on custom allocation with percentages.

Cause: Lines don't sum to exactly 100%.

Solution: Verify all line percentages and adjust.

Example:

Line 1: 30%
Line 2: 30%
Line 3: 25%
Total: 85% ← Missing 15%

Fix: Add another line or adjust existing lines
Line 1: 30%
Line 2: 30%
Line 3: 25%
Line 4: 15%
Total: 100% ✓

Summary

Payment Schedules provide a powerful, flexible system for automating payment splitting across multiple installments. By configuring allocation methods, payment frequencies, and constraints, you can model virtually any payment term structure required by your business.

Key Takeaways:

  • Three allocation methods cover fixed amounts, fixed quantities, and custom terms
  • Seven payment frequencies support various timing needs
  • Constraint properties ensure payments stay within business limits
  • Reusable templates promote consistency across transactions
  • Automatic calculation reduces manual effort and errors
  • Integration with AR and AP modules for seamless payment processing

Whether you're managing simple monthly installments or complex milestone-based project payments, Payment Schedules provide the structure and automation to handle them efficiently.