Product Guide - Appeasements
- 1 Overview & Key Concepts
- 1.1 Main Features
- 1.2 Data & Process Synchronization
- 1.2.1 Price validation
- 1.2.2 Process
- 2 Use Cases
- 3 Appeasement execution
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 |
|---|---|---|
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 :
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 :
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 :
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 :
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:
Discount at Source: Modify the pending capture amount (reduce the final charge).
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 |
|
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.