'sometimes|required|in:brouillon,emis,applique,annule', 'avoir_date' => 'sometimes|required|date', 'due_date' => 'nullable|date|after_or_equal:avoir_date', 'refund_status' => 'nullable|in:non_rembourse,en_cours,partiellement_rembourse,rembourse,compense', 'refund_date' => 'nullable|date', 'refund_method' => 'nullable|in:virement,cheque,carte_credit,compensation_future,autre', 'reason_description' => 'nullable|string', 'notes' => 'nullable|string', ]; } }