Skip to main content

Configuration examples

Generic XML import

todo

How to + examples

Generic JSON import

todo

How to + examples

XML: Document splitting

XML documents can be split into multiple documents using the split_selectors configuration:

{
"configurations": [
{
"trigger_condition": {
"file_type": "xml"
},
"split_selectors": ["/RecordLabel/Productions/Production"],
"fields": [
{
"schema_id": "document_id",
"selectors": ["./Metadata/ID"]
}
// …
]
}
]
}

The field selectors are then relative to the newly split document.

XML: PEPPOL BIS Billing 3.0

Basic configuration (works with the default Rossum.ai schema for invoices) and the following PEPPOL BIS Billing 3.0 example: https://github.com/OpenPEPPOL/peppol-bis-invoice-3/blob/0f63848fc46fe4ab87d1860a18bfe381c41e01ff/rules/examples/base-example.xml

{
"configurations": [
{
"trigger_condition": {
"file_type": "xml"
},
"fields": [
{
"schema_id": "document_id",
"selectors": ["cbc:ID"]
},
{
"schema_id": "order_id",
"selectors": ["cbc:BuyerReference"]
},
{
"schema_id": "date_issue",
"selectors": ["cbc:IssueDate"]
},
{
"schema_id": "date_due",
"selectors": ["cbc:DueDate"]
},
{
"schema_id": "currency",
"selectors": ["cbc:DocumentCurrencyCode"]
},
{
"schema_id": "amount_due",
"selectors": ["cac:LegalMonetaryTotal/cbc:TaxInclusiveAmount"]
},
{
"schema_id": "amount_total_base",
"selectors": ["cac:LegalMonetaryTotal/cbc:TaxExclusiveAmount"]
},
{
"schema_id": "amount_total_tax",
"selectors": ["cac:TaxTotal/cbc:TaxAmount"]
},
{
"schema_id": "sender_name",
"selectors": ["cac:AccountingSupplierParty/cac:Party/cac:PartyName/cbc:Name"]
},
{
"schema_id": "sender_address",
"selectors": ["cac:AccountingSupplierParty/cac:Party/cac:PostalAddress/cbc:StreetName"]
},
{
"schema_id": "recipient_name",
"selectors": ["cac:AccountingCustomerParty/cac:Party/cac:PartyName/cbc:Name"]
},
{
"schema_id": "recipient_address",
"selectors": ["cac:AccountingCustomerParty/cac:Party/cac:PostalAddress/cbc:StreetName"]
},
{
"schema_id": "terms",
"selectors": ["cac:PaymentTerms/cbc:Note"]
},
{
"fields": [
{
"schema_id": "item_quantity",
"selectors": ["cbc:InvoicedQuantity"]
},
{
"schema_id": "item_code",
"selectors": ["cac:Item/cac:StandardItemIdentification/cbc:ID"]
},
{
"schema_id": "item_description",
"selectors": ["cac:Item/cbc:Description", "cac:Item/cbc:Name"]
},
{
"schema_id": "item_amount",
"selectors": ["cac:Price/cbc:PriceAmount"]
}
],
"schema_id": "line_items",
"selectors": ["cac:InvoiceLine"]
}
]
}
]
}

XML with base64 encoded PDF

It is common that the actual PDF file is embedded in the XML document in base64 encoded format. It can be used instead of rendering the default minimal PDF representation:

{
"configurations": [
{
"fields": [
// …
],
"trigger_condition": {
"file_type": "xml"
},
"pdf_file": {
"name_selectors": [
"cac:AdditionalDocumentReference/cac:Attachment/cbc:EmbeddedDocumentBinaryObject/@filename"
],
"content_selectors": [
"cac:AdditionalDocumentReference/cac:Attachment/cbc:EmbeddedDocumentBinaryObject"
]
}
}
]
}