distinguish invalid and failed order