---
title: "Quittio\\Core\\Validation\\Rules – API reference"
description: "The public classes in Quittio\\Core\\Validation\\Rules."
canonical_url: "https://quittio.dev/en/docs/api/Quittio/Core/Validation/Rules"
locale: en
meta:
  "og:description": "The public classes in Quittio\\Core\\Validation\\Rules."
  "og:image": "https://quittio.dev/og/quittio-en.jpg"
  "og:image:alt": "Quittio: Invoices, settled. E-invoicing for PHP and Laravel, with a validated sample invoice."
  "og:image:height": "630"
  "og:image:type": image/jpeg
  "og:image:width": "1200"
  "og:title": "Quittio\\Core\\Validation\\Rules – API reference"
  "twitter:image": "https://quittio.dev/og/quittio-en.jpg"
  "twitter:image:alt": "Quittio: Invoices, settled. E-invoicing for PHP and Laravel, with a validated sample invoice."
---

> Index of every page on this site: [llms.txt](https://quittio.dev/llms.txt)

[API reference](https://quittio.dev/docs/api)

# Quittio\\Core\\Validation\\Rules

## quittio/core \#

### [Quittio\\Core\\Validation\\Rules](https://quittio.dev/docs/api/Quittio/Core/Validation/Rules)

- [`CallbackRule`](https://quittio.dev/docs/api/Quittio/Core/Validation/Rules/CallbackRule)A rule defined by a closure. The closure receives the invoice and a reporter.
- [`CodeListRules`](https://quittio.dev/docs/api/Quittio/Core/Validation/Rules/CodeListRules)Code list rules of EN 16931 (BR-CL-…), based on the official code lists.
- [`En16931Rules`](https://quittio.dev/docs/api/Quittio/Core/Validation/Rules/En16931Rules)EN 16931 business rules (BR-…) and conditions (BR-CO-…) checked on the data model.
- [`FieldMatrixRule`](https://quittio.dev/docs/api/Quittio/Core/Validation/Rules/FieldMatrixRule)Mandatory and allowed fields of the selected profile (level L2), derived from the mapping attributes of the data model and the profile's additional requirements.
- [`Inspect`](https://quittio.dev/docs/api/Quittio/Core/Validation/Rules/Inspect)Helpers shared by the rule sets.
- [`PeppolRules`](https://quittio.dev/docs/api/Quittio/Core/Validation/Rules/PeppolRules)The Peppol BIS Billing 3.0 rules (PEPPOL-EN16931-…, PEPPOL-COMMON-…) that the data of an invoice can violate, with readable messages. Rules that the UBL writer always satisfies and rules covered by an identical EN 16931 rule are not repeated (docs/validation.md lists them). The complete rule set is checked with the official artifacts (level L5).
- [`PlausibilityRules`](https://quittio.dev/docs/api/Quittio/Core/Validation/Rules/PlausibilityRules)Plausibility checks (level L7): IBAN check digits, BIC and VAT identifier formats, e-mail addresses, date logic and the VAT category against the destination country. The VIES check is added only if a verifier is given.
- [`QuittioRules`](https://quittio.dev/docs/api/Quittio/Core/Validation/Rules/QuittioRules)Package rules (QUITTIO-…) that go beyond EN 16931.
- [`RuleReporter`](https://quittio.dev/docs/api/Quittio/Core/Validation/Rules/RuleReporter)Collects the findings of one rule.
- [`StructureRules`](https://quittio.dev/docs/api/Quittio/Core/Validation/Rules/StructureRules)Structure and data format checks of the data model (level L1).
- [`VatCategoryRules`](https://quittio.dev/docs/api/Quittio/Core/Validation/Rules/VatCategoryRules)VAT category rules of EN 16931 (BR-S, BR-Z, BR-E, BR-AE, BR-IC, BR-G, BR-O, BR-AF, BR-AG, BR-B).

```json
{"@context":"https://schema.org","@graph":[{"@id":"https://quittio.dev/en#website","@type":"WebSite","description":"E-invoicing for PHP and Laravel: create, validate, read and archive ZUGFeRD, XRechnung and Peppol invoices.","inLanguage":"en","name":"Quittio","url":"https://quittio.dev/en","publisher":{"@id":"https://quittio.dev/#identity"},"translationOfWork":{"@id":"https://quittio.dev/#website"}},{"@id":"https://quittio.dev/en/docs/api/Quittio/Core/Validation/Rules#webpage","@type":"WebPage","description":"The public classes in Quittio\\Core\\Validation\\Rules.","name":"Quittio\\Core\\Validation\\Rules – API reference","url":"https://quittio.dev/en/docs/api/Quittio/Core/Validation/Rules","isPartOf":{"@id":"https://quittio.dev/en#website"},"potentialAction":[{"@type":"ReadAction","target":["https://quittio.dev/en/docs/api/Quittio/Core/Validation/Rules"]}],"primaryImageOfPage":{"@id":"https://quittio.dev/#logo"}},{"@id":"https://quittio.dev/#identity","@type":"Organization","description":"Open-Source-Bibliothek für E-Rechnungen in PHP und Laravel (ZUGFeRD, XRechnung, Peppol) und Quittio Managed.","email":"kontakt@niklasforst.de","legalName":"Niklas Forst – Softwareentwicklung","name":"Quittio","url":"https://quittio.dev","founder":{"@type":"Person","name":"Niklas Forst","url":"https://quittio.dev/ueber"},"logo":{"@id":"https://quittio.dev/#logo"},"sameAs":["https://github.com/Quittio/quittio","https://packagist.org/packages/quittio/quittio"]},{"@id":"https://quittio.dev/#logo","@type":"ImageObject","caption":"Quittio","contentUrl":"https://quittio.dev/logo.png","inLanguage":"en","url":"https://quittio.dev/logo.png"}]}
```