Batch Voucher Exports

Batch Voucher Exports

mockups

https://drive.google.com/drive/folders/1DR0ownDKS14PxhCrHWy14TD8sJA1mnbK

mod-invoice/mod-invoice-storage

Schemas

invoice

  • Add the batchGroupId field.

  • Add enclosureNeeded field

NOTE:  We'll need a UI story to add this to the various invoice forms/views

Property

Type

Default

Required

Notes

batchGroupId

string

NA

Yes

UUID of the batchGroup (aka exportGroup) to associate with this invoice and corresponding voucher

enclosureNeeded

boolean

false

No

Indicates that an enclosure is needed for the check - only if payment method is check.

voucher

  • Add the batchGroupId field.

  • Remove the batchNumber field - no longer needed.

Copied over from invoice->batchGroupId

Property

Type

Default

Required

Notes

batchGroupId

string

NA

Yes

UUID of the batchGroup (aka exportGroup) to associate with this invoice and corresponding voucher

adjustment

  • add exportToAccounting

Property

Type

Default

Required

Notes

exportToAccounting

boolean

false

Yes

Whether or not to show this adjustment in batchedVoucherLines

batch_voucher_export

This record describes an batch voucher export job - metadata about the process which generates and uploads the batch voucher

Property

Type

Default

Required

Notes

id

string

NA

No

UUID of this export - System generated if not specified.

status

string

Pending

Yes

enum:  Pending, Generated, Uploaded, Error

message

string

NA

No

Field for capturing additional context of status, e.g. an error message

batchGroupId

string

NA

Yes

UUID of the batch (aka exportGroup)

start

datetime

NA

Yes

This export is for all vouchers between start and end

end

datetime

NA

Yes

This export is for all vouchers between start and end

batchVoucherId

string

NA

No

UUID of the batch voucher if one exists yet

metadata

metadata

NA

No

System generated record metadata

batch_voucher

XML and JSON schemas/bindings are needed for this.

Immutable.

Potentially quite large.

Stored as json, but XML and JSON schemas/bindings are needed for this.

XML schema should favor elements over attributes as seen in the abbreviated example below.

{
  "batchGroup": "LAWLIB",
  "start": "2020-01-26T00:00:00Z",
  "end": "2020-01-27T00:00:00Z",
  "created": "2020-01-27T00:01:23Z",
  "batchedVouchers": [
    {
      ...
      batchedVoucherLines: [
        {
          "fundCodes": [ "HIST", "CANHIST" ],
          ...
        }, ...
      ]
    }, ...
  ]
}

<batchVoucher>
  <batchGroup>LAWLIB</batchGroup>
  <start>2020-01-26T00:00:00Z</start>
  <end>2020-01-27T00:00:00Z</end>
  <created>2020-01-27T00:01:23Z</created>
  <batchedVouchers>
    <batchedVoucher>
      ...
      <batchedVoucherLines>
        <batchedVoucherLine>
          ...
        </batchedVoucherLine>
      </batchedVoucherLines>
    </batchedVoucher>
    ...
  </batchedVouchers>
</batchVoucher>

 

Property

Type

Default

Required

Notes

id

string

NA

N

UUID for the batch voucher - System generated if not provided.

batchGroup

string

NA

Y

lookup batchGroup→name using invoice.batchGroupId

start

datetime

NA

Y

from batch_voucher_export→start 

end

datetime

NA

Y

from batch_voucher_export→end 

created

datetime

NA

Y

System generated - when the batch voucher was generated

batchedVouchers

collection<batched_voucher>

NA

Y

array of batch_voucher

totalRecords

integer

NA

Y

total number of records in the array

batched_voucher

Property

Type

Default

Required

Notes

Property

Type

Default

Required

Notes

voucherNumber

string

NA

Y

from voucher → voucherNo

vendorInvoiceNo

string

NA

Y

from voucher → invoiceId;  dereference to invoice → vendorInvoiceNo

folioInvoiceNo

string

NA

Y

from voucher → invoiceId;  dereference to invoice → folioInvoiceNo

accountingCode

string

NA

Y

from voucher → accountingCode

voucherDate

datetime

NA

Y

from voucher → voucherDate

type

string

NA

Y

enum.  from voucher → type

status

string

NA

Y

enum.  from voucher → status

amount

number

NA

Y

from voucher → amount

systemCurrency

string

NA

Y

 

invoiceCurrency

string

NA

Y

 

exchangeRate

number

NA

N

 

invoiceNote

string

NA

N

 

vendorName

string

NA

Y

 

disbursementNumber

string

NA

N

 

disbursementDate

datetime

NA

N

Required if disbursementNumber is specified

disbursementAmount

number

NA

N

 

enclosureNeeded

boolean

false

N

Indicates that an enclosure is needed for the check - only if payment method is check.

batchedVoucherLines

collection<batched_voucher_line>

NA

Y

 

batched_voucher_line

Property

Type

Default

Required

Notes

Property

Type

Default

Required

Notes

externalAccountNumber

string

NA

Y

from voucher-line→externalAccountNumber 

amount

number

NA

Y

from voucher-line→amount 

fundCodes

collection<string>

NA

Y

from voucher-line→ fundDistributions;  dereferenced to fund → code

adjustments

collection<adjustment>

NA

N

need to see:

  • description

  • relationToTotal - excluding separateFrom

  • amount or percentage

export_configuration

Configuration information for a voucher export - there's only one of these for a given batchGroup

Property

Type

Default

Required

Notes

Property

Type

Default

Required

Notes

id

string

NA

Yes

UUID of the configuration record - this is the batchGroupId that this configuration is associated with. - Foreign Key

startTime

string

00:00

No

The time of day to trigger an export if enableScheduledExport == true. Use pattern to restrict to HH:MM

weekdays

collection<string>

NA

No

An array of weekdays (enum: Sunday, Monday, etc.) indicating which days to trigger exports on.  If empty, indicates daily exports.  Duplicates are not allowed.

enableScheduledExport

boolean

false

No

Whether or not to enable scheduled batch voucher exports

format

string

Comments