# Validation
Validation runs automatically when calling toXml() or export().
Validation rules
- Seller required (with address)
- Buyer required (with address)
- At least one invoice line
- Invoice number required
- Billing period requires start and end dates
- Start date must be earlier than end date
Handling validation errors
use PhpFacturae\Exceptions\InvoiceValidationException;
try { $xml = $invoice->toXml();} catch (InvoiceValidationException $e) { foreach ($e->errors as $error) { echo "- $error\n"; }}XSD schema validation
use PhpFacturae\Enums\Schema;
$invoice->schema(Schema::V3_2_2); // DefaultAvailable: V3_2, V3_2_1, V3_2_2.