Product Guide - Appeasements

Product Guide - Appeasements

 

Overview & Key Concepts

This page provides an overview of the Appeasements (Commercial Gestures) features and use cases within OneStock OMS.

The Appeasement module allows Customer Service (CS) agents to manage manual appeasements directly within the OneStock Back Office, eliminating the need for external systems (ERP, PSP dashboards). This aligns with OneStock’s strategy to centralize the entire order lifecycle (creation, cancellation, returns, exchanges, and now appeasements) in a single tool.

 

Main Features

  • Manual Refunds: Trigger partial or full appeasements without requiring a physical return or order cancellation.

  • Full Traceability: Every refund is linked to an existing order entity (order, items, shipping fees, taxes) and user data to ensure financial consistency.

  • Ecosystem Integration: Webhook communication to inform your third-party tools (PSP, ERP) to execute the monetary flow and track status.

  • Single Source of Truth: OneStock centralizes the history of all financial gestures applied to an order for a 360° customer view.

 

Data & Process Synchronization

Price validation

To maintain financial integrity, we perform a check before approving any new appeasement

Formula :

Maximum appeasment amount = order.pricing_details.price - Sum(appeasment.amount)

We will reject any appeasement request where the requested amount is greater than the Remaining Balance.

 

Process

  • Outbound Flow: When a CS agent creates an appeasement, OneStock trigger a appeasement instruction through a webhook. This trigger is available for use by third-party systems, such as your ERP, PSP, or financial reporting system. To know more : Technical guide - Appeasements

  • Tax Management: Taxes are not manually adjusted by agents during appeasement creation.

    • If a tax provider connector is active, taxes are automatically recalculated after each appeasement to ensure compliance.

    • In the absence of a connector, the system performs price and tax calculations based on the existing order data.

 

Use Cases

The primary goal is to restore customer satisfaction through immediate corrective actions.

Functionnal use cases

Use cases

Worfklow

Use case supported

Use cases

Worfklow

Use case supported

The capture of the order is not handled by Onestock.

The order is totally settled.

 

The Customer Service (CS) agent trigger the appeasement from the BO.

Onestock sends a webhook to external tools (ERP, PSP…).

The external tool proceed the refund and manage the refund evolution and the refund method (credit card, voucher, gift card …)

The client is refunded.

The capture of the order is not handled by Onestock.

The order is partially settled.

The Customer Service (CS) agent trigger the appeasement from the BO.

Onestock sends a webhook to external tools (ERP, PSP…)

The retailer can apply its own refund rule :

  • Save the information and process the refund after the end of the settlement

  • Process directly the appeasement on the amount already settled

  • Review and reduce the invoice to settle

The external tool listens the webhook and applies the good process depending on the appeasement rule.

The capture of the order is not handled by Onestock.

The order is not settled.

The Customer Service (CS) agent trigger the appeasement from the BO.

Onestock sends a webhook to external tools (ERP, PSP…)

The retailer can apply its own refund rule :

  • Save the information and process the refund after the end of the settlement

  • Review and reduce the invoice to settle

The external tool listens the webhook and applies the good process depending on the appeasement rule.

The capture of the order is handled by Onestock. Example : OIS orders

The order is totally settled.

The Customer Service (CS) agent trigger the appeasement from the BO.

Onestock sends a webhook to external tools (ERP, PSP…).

Onestock automatically creates refund operation and follow the preffered refund method configuration rule

The external tool proceed the refund and manage the refund evolution and the refund method (credit card, voucher, gift card …)

The client is refunded.

The capture of the order is handled by Onestock.

The order is partially settled.

.

The Customer Service (CS) agent trigger the appeasement from the BO.

Onestock sends a webhook to external tools (ERP, PSP…).

Onestock automatically creates refund operation and follow the preffered refund method configuration rule

The retailer can apply its own refund rule :

  • Save the information and process the refund after the end of the settlement

  • Process directly the appeasement on the amount already settled

  • Review and reduce the invoice to settle

The external tool listens the webhook and applies the good process depending on the appeasement rule.

The capture of the order is handled by Onestock.

The order is settled.

The Customer Service (CS) agent trigger the appeasement from the BO.

Onestock sends a webhook to external tools (ERP, PSP…).

Onestock automatically creates refund operation and follow the preffered refund method configuration rule

The retailer can apply its own refund rule :

  • Save the information and process the refund after the end of the settlement

  • Review and reduce the invoice to settle

The external tool listens the webhook and applies the good process depending on the appeasement rule.

 

Appeasement execution

The creation of an appeasement follows a three-step logic: selecting the target entity, defining the amount, and aligning with the payment status.

Target Entities

The Customer Service agent must first select which part of the order is affected by the commercial gesture.

  • Order Level (MVP): The appeasement is applied to the total value of the order.

  • Line Level (Future Versions): Capacity to target a specific Order Item or Shipping Fees. Know more about limitations.

Appeasement Calculation

When creating an appeasement, the agent must manually define how the refund value is calculated. The system allows for two distinct entry modes:

  • Fixed Amount: The agent enters a specific monetary value to be refunded (e.g., entering "10" to refund €10.00 on a €100.00 order).

  • Percentage: The agent enters a discount rate to be applied to the target entity (e.g., entering "10" to trigger a 10% refund on a €100.00 order).

Agent Action: The interface provides a selection field where the agent must choose between "Amount" or "Percentage" before entering the value. Once the value is entered, the system automatically calculates the final refund amount for validation.

Functional Rounding Management

When applying percentage-based discounts or adjustments to prices, calculations may result in amounts with more than two decimal places. To ensure consistency across our financial records, we apply a rounding down (floor) rule after the second decimal.

Specifically, any fractional digits beyond the second decimal place are truncated. For example, if a calculation results in $12.3456, the final amount retained will be $12.34. This approach ensures a conservative and predictable handling of appeasement amounts.

Refund Reason & Comment

To ensure full traceability and enable future reporting, the agent must document the context of the commercial gesture.

  • Mandatory Reason: The agent must select a reason from a pre-configured drop-down list (e.g., "Damaged Item," "Late Delivery," "Customer Service Issue"). An appeasement cannot be submitted without a selected reason. More information about the configuration.

  • Optional Comment: A free-text field is available for the agent to provide additional context or internal notes. While not mandatory, it is highly recommended for complex cases to help other agents or the finance team understand the history of the order.

 

Payment State & Capture Synchronization

An appeasement can be created at any stage of the order lifecycle. However, a dedicated configuration allows to define the specific Order Statuses for which the appeasement feature is enabled. Go to configuration.

  • Fully Captured Orders: The refund can be triggered immediately via the PSP once the request (of the appeasement via webhook) is processed.

  • Pending or Partial Settlement : If the payment has not been fully settled, the retailer can choose between two operational strategies:

    1. Discount at Source: Modify the pending capture amount (reduce the final charge).

    2. Delayed Refund: Complete the full capture first, then trigger a standard refund.

 

Traceability & Order Display

To ensure transparency and financial accuracy, every appeasement is tracked and displayed within the order interface.

Operation Logs (Audit Trail)

Every time an appeasement is created or updated in the Back Office, a detailed log is generated. This ensures that administrators can audit who did what and when.

The following information is recorded in the logs:

  • Title of the log : Appeasement created

  • Timestamp: The exact date and time the action was performed.

  • Agent ID: Email of the Customer Service operator who created the appeasement.

  • Calculation Details: The original input (Amount or Percentage) and the final calculated value in the order’s currency.

  • Reason & Comment: The mandatory reason selected

  • Comment : And any additional manual notes provided by the agent.

 

Billing Section Integration

For a clear financial overview, the appeasement is displayed directly within the Billing tab of the order details.

A dedicated "Appeasements" section is added to the billing summary to show:

  • Total Appeased Amount: A summary of all manual refunds applied to the order.

 

Webhook Integration: Managing Financial Flows

When an appeasement is triggered, the system emits a webhook (topic : appeasement.created). The consuming service must differentiate the logic based on the Order Payment Status to ensure accounting integrity.

To know more about integration, go to Technical Guide – Appeasement

Recommended Logic Flow

Order Status

Action Required

Financial Process

Fully Paid

Trigger Refund

Call the Payment Provider API (Stripe, Adyen, etc.) to refund the specified amount to the original payment method.

Partially Paid

Adjustment First

  1. Offset the remaining balance due.

  2. Refund the surplus (if any) via the Payment Provider.

Unpaid / Pending

Invoice Modification

Update the invoice total or the "Amount Due" before the customer is charged. No refund API call is needed.

Implementation Best Practices

1. The "Refund vs. Credit" Decision Tree

Depending on your company policy, you should implement a handler that follows this hierarchy:

  • Case A (Captured Funds): If the transaction is "Captured", the webhook should automate a refund_request.

  • Case B (Authorized Only): If the funds are only "Authorized", the system should perform a partial void (releasing the hold) rather than a refund to avoid unnecessary transaction fees.

 

Additional Use Cases for Appeasements

While appeasements are commonly used for partial refunds due to minor issues, they can also facilitate complex operational workflows. Below are specific scenarios where the appeasement feature provides a strategic solution.

1. Seamless Replacement Orders

When a customer needs a full replacement (e.g., the original item was lost in transit or arrived heavily damaged), Customer Service can leverage appeasements to bypass traditional "return-and-reorder" friction.

  • The Workflow:

    • 1. The agent creates a new order on behalf of the customer via the Order In Store (OIS) or an external order creation tool.

    • 2. Once the order is drafted, the agent applies a 100% appeasement to the total value.

  • The Benefit: This allows for an immediate dispatch of the replacement goods without requiring the customer to provide new payment details, ensuring a high-quality recovery experience.