Skip to content

Instantly share code, notes, and snippets.

@daronstinnett
Last active April 3, 2021 18:15
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save daronstinnett/082a47e344732157571923bdcf6a584f to your computer and use it in GitHub Desktop.
Save daronstinnett/082a47e344732157571923bdcf6a584f to your computer and use it in GitHub Desktop.
Finexio's Payment File JSON Schema
{
"$id": "https://gist.githubusercontent.com/daronstinnett/082a47e344732157571923bdcf6a584f/raw/e4f9747c1a1f065bcfe4a495d3b35e0972626417/finexio_payment_file_schema.json",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"title": "Finexio Payment File (Standard)",
"type": "array",
"properties": {
"BuyerID": {
"type": "string",
"description": "A value provided by the Customer to uniquely identify the Buyer (the entity making the payment).",
"maxLength": 100
},
"BuyerName": {
"type": "string",
"description": "The name of the entity making the payment.",
"maxLength": 100
},
"BuyerAcct": {
"type": "string",
"description": "The unique account number provided by the supplier.",
"maxLength": 100
},
"SupplierID": {
"type": "string",
"maxLength": 100
},
"SupplierName": {
"type": "string",
"maxLength": 100
},
"Address1": {
"type": "string",
"maxLength": 40,
"description": "Primary billing address of Supplier (the location where payments are remitted)."
},
"Address2": {
"type": "string",
"maxLength": 40,
"description": "An additional field that optionally contains more address information for the Supplier."
},
"City": {
"type": "string",
"maxLength": 40,
"description": "City of Supplier."
},
"State": {
"type": "string",
"pattern": "^\\s*[A-Z]{2}\\s*$",
"description": "State of Supplier (2 capital letters)"
},
"Country": {
"type": "string",
"pattern": "^\\s*[A-Z]{3}\\s*$",
"description": "Country of Supplier (3 capital letters)"
},
"ZipCode": {
"type": "string",
"pattern": "^\\s*\\d{5}(?:[-\\s]\\d{4})?\\s*$",
"description": "Postal code of Supplier (XXXXX or XXXXX-XXXX)"
},
"InvoiceNumber": {
"type": "string",
"maxLength": 100,
"description": "A value provided by the Buyer that references the Supplier invoice number."
},
"InvoiceDate": {
"type": "string",
"pattern": "^\\s*(\\d{4}202\\d$|\\d{1,2}[\\/\\-]\\d{1,2}[\\/\\-]202\\d)\\s*$",
"description": "The date of the invoice provided by the recipient of the payment. (Must be +/- 365 days from today)."
},
"InvoiceReceivedDate": {
"type": "string",
"pattern": "^\\s*(\\d{4}202\\d$|\\d{1,2}[\\/\\-]\\d{1,2}[\\/\\-]202\\d)\\s*$",
"description": "The date the invoice was received. (Must be +/- 365 days from today)."
},
"InvoiceDueDate": {
"type": "string",
"pattern": "^\\s*(\\d{4}202\\d$|\\d{1,2}[\\/\\-]\\d{1,2}[\\/\\-]202\\d)\\s*$",
"description": "The date of the invoice provided by the recipient of the payment. (Must be +/- 365 days from today)."
},
"PaymentID": {
"type": "string",
"maxLength": 100,
"description": "A value provided by the Buyer to uniquely identify the payment. For example, many ERP systems produce a payment number associated with a payment to a vendor."
},
"InvoiceAmount": {
"type": "string",
"pattern": "^(\\-?)(\\d{1,7})(\\.\\d{1,4}){0,1}$",
"description": "The amount due per the associated invoice. (DO NOT include either a $ or ,)"
},
"DiscountAmount": {
"type": "string",
"pattern": "^(\\d{1,7})(\\.\\d{1,4}){0,1}$",
"description": "Any amount representing a credit/offset between the invoice and payment amount(s)."
},
"PaymentAmount": {
"type": "string",
"pattern": "^(\\-?)(\\d{1,7})(\\.\\d{1,4}){0,1}$",
"description": "The amount of the payment to be made. (DO NOT include either a $ or ,)"
},
"Note": {
"type": "string",
"maxLength": 1000,
"description": "Additional information the buyer would like to communicate to your supplier"
}
},
"required": [
"BuyerID",
"SupplierID",
"InvoiceNumber",
"InvoiceDate",
"InvoiceDueDate",
"PaymentAmount"
],
"unique": [
"InvoiceNumber",
"PaymentID"
],
"dependencies": {
"Address1": ["City", "State", "ZipCode", "Country"],
"DiscountAmount": ["InvoiceAmount"]
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment