Single Use Promotion Codes
    • 14 May 2025
    • 5 Minutes to read
    • Contributors
    • PDF

    Single Use Promotion Codes

    • PDF

    Article summary

    Promotion Codes allow you to offer discounts to consumers associated with payments and/or settlements. These can be configured manually or uploaded via ETL, and can be redeemed by an agent.

    How Promotion Codes Work

    • Promotion codes are associated with a bundle.

    • Discounts can be either a fixed dollar amount or a percentage.

    • Promotion codes can be applied as a settlement and/or as an immediate discount.

    • A promotion code is available until its expiration date.

    • The expiration date for an unredeemed promotion code can be modified.

    • Agents redeem promotion codes when posting transactions or setting up payment plans.

    • Tracking and reporting of promotion code usage is available through SQL.

    Setting Up Promotion Codes Manually

    Before You Begin:

    • Ensure your user role includes the “Manage - Promotion Codes” permission.

    Access Promotion Codes

    1. From the Account Sidebar, click Promotion Codes, click New.

    Option A: Creating Settlement Promotion Codes

    1. The Settlement checkbox is checked by default.

    2. Enter:

      1. Code

      2. Discount Percent or Discount Amount (only one)

      3. Expiration Date

    3. Save the promo code.

    Image Displays Settlement Promotion Code Fields

    Note: A Settlement promo code applies to the total owed balance.

    Option B: Creating Non-Settlement Promotion Codes

    1. Uncheck the Settlement checkbox.

    2. Enter:

      1. Code

      2. Discount Percent or Discount Amount (only one)

      3. Bucket (Principal, Fee, or Interest)

      4. Expiration Date

    3. Save the promo code.

    Image Displays Non-Settlement Promotion Code Fields

    Note: A Non-Settlement promo code applies only to the selected bucket.

    Uploading Promotion Codes via ETL Profile

    To upload promotion codes in ACE, you'll first need to prepare your import file, then create an ETL Profile using the “BUNDLE_PROMO_CODES load method to upload it. Refer to the Bundle Promo Codes ETL Layout document for details.

    Step 1: Prepare Your File Using SQL Designer

    Use the SQL Designer to export only the necessary column headers. This helps ensure your file includes the required fields based on how you're configuring your promo codes. Refer to the Example SQL Queries section of this article for more information.

    Step 2: Load the File

    1. Go to Accounts → ETL Import → Profiles → New.

    2. Upload the file to configure the ETL Profile and map the fields.

    3. Choose the following load method:

      1. BUNDLE_PROMO_CODES

    4. Test the profile with or without a job to verify it loads data as expected.

    5. Save the profile for future use.

    Viewing a Bundle’s Promotion Codes

    • Click Promotion Codes from the account sidebar.

    • View a list of promotion codes for the bundle.

    Image Displays Viewing Example Promotion Codes at the Bundle Level

    Redeeming Promotion Codes

    Before You Begin:

    • Ensure your user’s permission roles include the “PAYMENT_SETTLE” permission.

    Important:

    Always redeem the promotion code before posting a payment or continuing to configure a payment plan to achieve the expected results.

    1. Post a Payment

    Option A: Redeem a Settlement Promotion Code

    Use this method if the promotion code is set up as a Settlement (Settlement = True).

    1. Open the account.

    2. Click Post Transaction in the left sidebar.

    3. Complete the Payment Information section:

      1. Enter required credentials and contact details.

      2. Select accounts to apply the payment to.

    4. In the Promotion Code section:

      1. Select the Settlement Promotion Code.

      2. Click Redeem.

      3. The payment amount adjusts for the discount.

    5. Scroll down and verify transactions are spreading correctly.

    6. Click Apply.

    What Happens:

    • The Payment Amount automatically adjusts for the settlement discount.

    • The discount is applied at the time of posting, resulting in a $0 balance on the selected accounts.

    Image Displays Redeem Button for Promotion Code

    Option B: Redeem a Non-Settlement Promo Code

    Use this method if the promotion code is set up as Non-Settlement (Settlement = False).

    1. Open the account.

    2. Click Post Transaction in the left sidebar.

    3. In the Promotion Code section:

      1. Select the Non-Settlement Promotion Code.

      2. Click Redeem.

    4. Enter the agreed upon payment amount that qualifies the consumer for the promotion.

    5. Scroll down and verify transactions are spreading correctly.

    6. Click Apply.

    What Happens:

    • The discount is automatically posted to the account before the payment is entered and applied.

    Image Displays Message for Non-Settlement Promotion Code Once Redeemed (Step 3b)

    2. Set Up a Payment Plan

    Option A: Redeem a Settlement Promotion Code

    Use this method if the promotion code is set up as a Settlement (Settlement = True).

    1. Open the account.

    2. Click Setup Payment Plan in the left sidebar.

    3. In the Promotion Code section:

      1. Select the Settlement Promotion Code.

      2. Click Redeem.

    4. Complete the payment plan details.

    5. Validate the payment plan total and schedule.

    6. Click Apply.

    What Happens:

    • The Payment Plan Total and Settle Amount auto-adjust to reflect the discount.

    • The discount is applied after the plan is completed.

    Option B: Redeem a Non-Settlement Promotion Code

    Use this method if the promotion code is set up as Non-Settlement (Settlement = False).

    1. Open the account.

    2. Click Setup Payment Plan in the left sidebar.

    3. In the Promotion Code section:

      1. Select the Non-Settlement Promotion Code.

      2. Click Redeem.

    4. Fill in the payment plan as agreed upon with the consumer.

    5. Validate the payment plan total and schedule.

    6. Click Apply.

    What Happens:

    • The discount is automatically posted to the account when the plan plan is created.

    • The plan total is not adjusted; the agent must enter the agreed upon plan terms.

    Example SQL Queries

    The following eight example SQL queries are provided for reference only, to be used in order to quickly export the column headers you may choose to use before building your ETL file.

    Example: Amount by Bucket via Debt ID

    Image Displays Column Header for Amount by Bucket Debt ID

    SELECT
       debt.debt_id,
       bundle_promo_code.code,
       bundle_promo_code.discount_amount,
       bundle_promo_code.expiration,
       bundle_promo_code.bucket
    FROM debt
    LEFT OUTER JOIN bundle_promo_code ON bundle_promo_code.bundle_id = debt.bundle_id
    WHERE bundle_promo_code.discount_amount <> 0
    ORDER BY debt.last_update DESC
    LIMIT 1;

    Example: Amount by Bucket via Bundle ID

    Image Displays Amount by Bucket via Bundle ID

    SELECT
       debt.bundle_id,
       bundle_promo_code.code,
       bundle_promo_code.discount_amount,
       bundle_promo_code.expiration,
       bundle_promo_code.bucket
    FROM debt
    LEFT OUTER JOIN bundle_promo_code ON bundle_promo_code.bundle_id = debt.bundle_id
    WHERE bundle_promo_code.discount_amount <> 0
    ORDER BY debt.last_update DESC
    LIMIT 1;

    Example: Amount for Settlement via Bundle ID

    Image Displays Amount for Settlement via Bundle ID

    SELECT
       debt.bundle_id,
       bundle_promo_code.code,
       bundle_promo_code.discount_amount,
       bundle_promo_code.expiration,
       bundle_promo_code.settlement
    FROM debt
    LEFT OUTER JOIN bundle_promo_code ON bundle_promo_code.bundle_id = debt.bundle_id
    WHERE bundle_promo_code.discount_amount <> 0
      AND bundle_promo_code.settlement = 't'
    ORDER BY debt.last_update DESC
    LIMIT 1;

    Example: Amount for Settlement via Debt ID

    Image Displays Amount for Settlement via Debt ID

    SELECT
       debt.debt_id,
       bundle_promo_code.code,
       bundle_promo_code.discount_amount,
       bundle_promo_code.expiration,
       bundle_promo_code.settlement
    FROM debt
    LEFT OUTER JOIN bundle_promo_code ON bundle_promo_code.bundle_id = debt.bundle_id
    WHERE bundle_promo_code.discount_amount <> 0
      AND bundle_promo_code.settlement = 't'
    ORDER BY debt.last_update DESC
    LIMIT 1;

    Example: Percent by Bucket via Debt ID

    Image Displays Percent by Bucket via Debt ID

    SELECT
       debt.debt_id,
       bundle_promo_code.code,
       bundle_promo_code.discount_percent,
       bundle_promo_code.expiration,
       bundle_promo_code.bucket
    FROM debt
    LEFT OUTER JOIN bundle_promo_code ON bundle_promo_code.bundle_id = debt.bundle_id
    WHERE bundle_promo_code.discount_percent <> 0
    ORDER BY debt.last_update DESC
    LIMIT 1;

    Example: Percent by Bucket via Bundle ID

    Image Displays Percent by Bucket via Bundle ID

    SELECT
       debt.bundle_id,
       bundle_promo_code.code,
       bundle_promo_code.discount_percent,
       bundle_promo_code.expiration,
       bundle_promo_code.bucket
    FROM debt
    LEFT OUTER JOIN bundle_promo_code ON bundle_promo_code.bundle_id = debt.bundle_id
    WHERE bundle_promo_code.discount_percent <> 0
    ORDER BY debt.last_update DESC
    LIMIT 1;

    Example: Percent for Settlement via Debt ID

    Image Displays Percent for Settlement via Debt ID

    SELECT
       debt.debt_id,
       bundle_promo_code.code,
       bundle_promo_code.discount_percent,
       bundle_promo_code.expiration,
       bundle_promo_code.settlement
    FROM debt
    LEFT OUTER JOIN bundle_promo_code ON bundle_promo_code.bundle_id = debt.bundle_id
    WHERE bundle_promo_code.discount_percent <> 0
      AND bundle_promo_code.settlement = 't'
    ORDER BY debt.last_update DESC
    LIMIT 1;

    Example: Percent for Settlement via Bundle ID

    Image Displays Percent for Settlement via Bundle ID

    SELECT
       debt.bundle_id,
       bundle_promo_code.code,
       bundle_promo_code.discount_percent,
       bundle_promo_code.expiration,
       bundle_promo_code.settlement
    FROM debt
    LEFT OUTER JOIN bundle_promo_code ON bundle_promo_code.bundle_id = debt.bundle_id
    WHERE bundle_promo_code.discount_percent <> 0
      AND bundle_promo_code.settlement = 't'
    ORDER BY debt.last_update DESC
    LIMIT 1;

    Reporting Promotion Code

    Here is a basic SQL example that may be used to report some account and promotion code fields.

    Please note: this example limits the number of rows returned.

    SELECT
      debt.debt_id,
      debt.customer_client_code,
      debt.principal_owing,
      debt.fee_owing,
      debt.interest_owing,
      debt.bundle_id,
      bundle_promo_code.*
    FROM debt
    LEFT OUTER JOIN bundle_promo_code ON bundle_promo_code.bundle_id = debt.bundle_id
    ORDER BY debt.last_update DESC
    LIMIT 1000;


    Was this article helpful?

    Changing your password will log you out immediately. Use the new password to log back in.
    First name must have atleast 2 characters. Numbers and special characters are not allowed.
    Last name must have atleast 1 characters. Numbers and special characters are not allowed.
    Enter a valid email
    Enter a valid password
    Your profile has been successfully updated.
    ESC

    Eddy AI, facilitating knowledge discovery through conversational intelligence