Product tour
Follow one change to a refund rule from request to recorded decision.
A product manager wants to extend the refund window from 30 to 45 days. Step through what AppThentic shows before anyone changes the system.
- Step 1
A product manager wants to change a rule.
Refunds are 30 days. Competitors offer 45. Before anyone changes the system, AppThentic shows what is known about this rule.
S. Iyer · ProductCan we move consumer refunds from 30 to 45 days? Competitors offer 45.
AppThentic found- 1 rule that sets the window, with an approved reason
- 5 things that depend on it
- 1 related rule whose reason has expired
- Step 2
The rule, with its reason and its owner.
The exact source, the reason in the owner’s own words, and when it was approved. No one had to write a doc.
Rule · Consumer refund windowApproved41def refund_allowed(order, today): 42 window = 30 if order.channel != "b2b" else 60 43 return (today - order.delivered_on).days <= window
AppThentic asked FinanceWhy 30 days for consumer orders, rather than 60 as for B2B?
R. Mehta · Head of FinanceOur payment partner settles chargebacks within 35 days. Thirty keeps every refund inside that, so we never refund money already lost to a dispute.
Source refunds/policy.py:42Owner FinanceApproved 12 Sep 2026 - Step 3
What depends on it.
Five things rely on this rule. One of them, the daily finance reconciliation, would break at 45 days.
Proposed changeConsumer refund window:
Rule refunds/policy.py:4230 days→ 45 daysfinance-daily-reconApprovedConflict · Assumes refunds settle inside the 35-day chargeback window. 45 days breaks that.
payments-apiObservedCalls refund_allowed() before every refund.
support-macrosDocumentedTells customers "30 days" in 4 templates.
loyalty-clawbackInferredRemoves points when an order is refunded.
festive-extended-returnsStaleOverrides the window for festive orders.
5 dependents1 conflict4 owners to ask1 related rule stale - Step 4
A related rule whose reason has expired.
A festive-season override is still in the system, though the promotion it served ended in January. AppThentic flags it.
Rule · Festive extended returnsStale18if date(2025,10,1) <= order.placed_on <= date(2026,1,15): 19 window = 60
Approved reason · Ops · 22 Sep 2025"Covers the festive promotion. It ends 31 January 2026."
The reason expired on 31 Jan 2026. The code still applies it, and it overrides the refund window you are changing.Ask Ops: keep, change or remove? - Step 5
Asking the people who know.
The engineer who built it points to Finance. AppThentic follows the answer to the person who actually decided.
AppThentic → A. Rao, Payments · wrote this coderefunds/policy.py:42sets 30 days for consumer orders and 60 for B2B. Why 30 rather than 60?A. Rao · PaymentsI implemented it, but Finance chose the number. Ask R. Mehta.
Followed to R. Mehta, Head of FinanceR. Mehta · FinanceOur payment partner settles chargebacks within 35 days. Thirty keeps every refund inside that window.
ApprovedRecorded with source, owner and date. 2 questions, 1 hand-off. - Step 6
The decision, recorded with its sources.
Who asked, who decided, who was told, and the sources behind it. The next person to ask gets this answer.
Decision recordApprovedRefund window stays at 30 days until the payment partner extends its chargeback window. Then it moves to 45.
- Asked by
- S. Iyer · Product
- Decided by
- R. Mehta · Finance
- Also told
- Payments, Support, Growth
- Follow-up
- Festive returns rule sent to Ops to retire
Source refunds/policy.py:42Source finance-daily-reconSource partner contract §7.2
Use the arrow keys to move between steps.