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"
]
}
}
]
}