{
    "type": "object",
    "properties": {
        "AccountRef": {
            "type": "object",
            "properties": {
                "value": {
                    "type": "string"
                },
                "name": {
                    "type": "string"
                }
            },
            "required": [
                "value",
                "name"
            ]
        },
        "PaymentType": {
            "type": "string"
        },
        "Credit": {
            "type": "boolean"
        },
        "PurchaseEx": {
            "type": "object",
            "properties": {
                "any": {
                    "type": "array",
                    "items": {
                        "type": "object",
                        "properties": {
                            "name": {
                                "type": "string"
                            },
                            "declaredType": {
                                "type": "string"
                            },
                            "scope": {
                                "type": "string"
                            },
                            "value": {
                                "type": "object",
                                "properties": {
                                    "Name": {
                                        "type": "string"
                                    },
                                    "Value": {
                                        "type": "string"
                                    }
                                },
                                "required": [
                                    "Name",
                                    "Value"
                                ]
                            },
                            "nil": {
                                "type": "boolean"
                            },
                            "globalScope": {
                                "type": "boolean"
                            },
                            "typeSubstituted": {
                                "type": "boolean"
                            }
                        },
                        "required": [
                            "name",
                            "declaredType",
                            "scope",
                            "value",
                            "nil",
                            "globalScope",
                            "typeSubstituted"
                        ]
                    }
                }
            },
            "required": [
                "any"
            ]
        },
        "domain": {
            "type": "string"
        },
        "sparse": {
            "type": "boolean"
        },
        "Id": {
            "type": "string"
        },
        "SyncToken": {
            "type": "string"
        },
        "MetaData": {
            "type": "object",
            "properties": {
                "CreateTime": {
                    "type": "string"
                },
                "LastUpdatedTime": {
                    "type": "string"
                }
            },
            "required": [
                "CreateTime",
                "LastUpdatedTime"
            ]
        },
        "TxnDate": {
            "type": "string"
        },
        "CurrencyRef": {
            "type": "object",
            "properties": {
                "value": {
                    "type": "string"
                },
                "name": {
                    "type": "string"
                }
            },
            "required": [
                "value",
                "name"
            ]
        },
        "Line": {
            "type": "array",
            "items": {
                "type": "object",
                "properties": {
                    "Id": {
                        "type": "string"
                    },
                    "DetailType": {
                        "type": "string"
                    },
                    "AccountBasedExpenseLineDetail": {
                        "type": "object",
                        "properties": {
                            "AccountRef": {
                                "type": "object",
                                "properties": {
                                    "value": {
                                        "type": "string"
                                    },
                                    "name": {
                                        "type": "string"
                                    }
                                },
                                "required": [
                                    "value",
                                    "name"
                                ]
                            },
                            "BillableStatus": {
                                "type": "string"
                            },
                            "TaxCodeRef": {
                                "type": "object",
                                "properties": {
                                    "value": {
                                        "type": "string"
                                    }
                                },
                                "required": [
                                    "value"
                                ]
                            }
                        },
                        "required": [
                            "AccountRef",
                            "BillableStatus",
                            "TaxCodeRef"
                        ]
                    },
                    "Description": {
                        "type": "string"
                    }
                },
                "required": [
                    "Id",
                    "Amount",
                    "DetailType"
                ]
            }
        },
        "EntityRef": {
            "type": "object",
            "properties": {
                "value": {
                    "type": "string"
                },
                "name": {
                    "type": "string"
                },
                "type": {
                    "type": "string"
                }
            },
            "required": [
                "value",
                "name",
                "type"
            ]
        }
    },
    "required": [
        "AccountRef",
        "PaymentType",
        "TotalAmt",
        "PurchaseEx",
        "domain",
        "sparse",
        "Id",
        "SyncToken",
        "MetaData",
        "TxnDate",
        "CurrencyRef",
        "Line"
    ],
    "version": 1
}
