Returns & RMA (reverse logistics) database schema

How returns are actually modelled: RMA authorisations and eligibility windows, versioned policies, return reasons, inbound inspection and grading, dispositions from restock to scrap, refunds against exchanges and store credit, labels, restocking fees and return-abuse signals.

Returns RMA ER diagram

Returns & RMA (reverse logistics) database schema n1 n1 n1 n1 n1 n1 n1 n1 n1 n1 n1 n1 11 customers idBIGINT emailVARCHAR full_nameVARCHAR created_atTIMESTAMPTZ is_blocked_from_r…BOOLEAN sales_orders idBIGINT customer_idBIGINT order_numberVARCHAR placed_atTIMESTAMPTZ delivered_atTIMESTAMPTZ currency_codeCHAR channelVARCHAR sales_order_lines idBIGINT sales_order_idBIGINT skuVARCHAR product_nameVARCHAR quantityINTEGER unit_price_minorBIGINT tax_minorBIGINT discount_minorBIGINT is_final_saleBOOLEAN return_policies idBIGINT nameVARCHAR scope_typeVARCHAR scope_valueVARCHAR window_daysINTEGER restocking_fee_pctNUMERIC requires_original…BOOLEAN free_returnBOOLEAN effective_fromDATE effective_toDATE return_reasons idBIGINT codeVARCHAR labelVARCHAR reason_categoryVARCHAR is_merchant_faultBOOLEAN auto_approveBOOLEAN requires_photoBOOLEAN return_authorisatio… idBIGINT rma_numberVARCHAR customer_idBIGINT sales_order_idBIGINT policy_idBIGINT statusVARCHAR requested_atTIMESTAMPTZ approved_atTIMESTAMPTZ expires_atTIMESTAMPTZ resolution_prefer…VARCHAR risk_score_at_req…NUMERIC review_notesTEXT return_lines idBIGINT return_authorisat…BIGINT sales_order_line_…BIGINT reason_idBIGINT quantity_requestedINTEGER quantity_receivedINTEGER customer_commentTEXT refundable_amount…BIGINT restocking_fee_mi…BIGINT currency_codeCHAR return_shipments idBIGINT return_authorisat…BIGINT carrierVARCHAR tracking_numberVARCHAR label_storage_keyVARCHAR label_cost_minorBIGINT currency_codeCHAR paid_byVARCHAR shipped_atTIMESTAMPTZ delivered_atTIMESTAMPTZ statusVARCHAR return_inspections idBIGINT return_line_idBIGINT inspected_atTIMESTAMPTZ inspected_byVARCHAR quantity_inspectedINTEGER gradeVARCHAR matches_declaredBOOLEAN condition_notesTEXT evidenceJSONB disposition_events idBIGINT return_line_idBIGINT dispositionVARCHAR quantityINTEGER performed_atTIMESTAMPTZ destination_refer…VARCHAR recovered_value_m…BIGINT currency_codeCHAR vendor_rma_refere…VARCHAR return_settlements idBIGINT return_authorisat…BIGINT settlement_typeVARCHAR amount_minorBIGINT currency_codeCHAR refund_methodVARCHAR payment_referenceVARCHAR exchange_order_nu…VARCHAR store_credit_codeVARCHAR statusVARCHAR issued_atTIMESTAMPTZ customer_return_risk customer_idBIGINT orders_countINTEGER returns_countINTEGER return_rateNUMERIC high_value_return…INTEGER mismatch_countINTEGER worn_return_countINTEGER risk_bandVARCHAR manual_review_req…BOOLEAN computed_atTIMESTAMPTZ

Related database schemas