Appendix G - Recent File Accruals.xlsx

XLSX spreadsheet 71 KB Posted

Attached to
Advanced Metering, Utility, & Waste Data Tracking
Solicitation number
47HAA021R0001
Issued by

About this file

This federal contract opportunity notice seeks proposals for an advanced metering, utility and waste data tracking, and utility invoice processing system. The General Services Administration's Office of the Chief Information Officer - Office of Public Buildings Information Technology Services seeks to replace existing applications including the Energy Usage Analysis System, Advanced Metering System, the solid waste module of the GSA's Sustainable Operations and Maintenance, and the service for processing utility invoices. Offerors should provide a new cloud-based, commercial-off-the-shelf enterprise solution, including hosting, licensing, configuration, data architecture, integration, and support services. Questions regarding this requirement are due by July 27, 2021, with proposals due by August 20, 2021. The Government intends to award a single contract to provide an integrated environment managed by a single Offeror.

View the file

Other files

Show all 15

On GovTribe

Work with this file

  • Download the original file
  • Contacts named in this file
  • Similar government files
  • Ask GovTribe AI about this file

Text version

Specifications 1.1 Purpose and Scope of Document

This document contains functional specifications, data element mappings, and technical processing details for a flat-file interface between the MetTel feeder system and Pegasys. This interface will send estimated accruals documents to Pegasys, via the FMESB. The document includes:

· Overview of the interaction of the participating systems.

· Interface file specification including layout and data formatting rules for the file submitted from the MetTel feeder system.

· Processing steps for the interface file, including validations and error handling.

· Information regarding file transmission volume and frequency.

Details of the process by which utilities estimated accruals are created and submitted within the MetTel feeder system are not within the scope of this document.

1.2 Contacts

Exhibit 1‑1 contains the primary points of contact for this implementation:

Exhibit 1‑1: Utilities Estimated Accruals Interface Primary Points of Contact

1.3 Document Organization

This document is divided in the following sections:

· Section 1 – Introduction: This section describes the purpose and scope of this Data Exchange Specification document.

· Section 2 – Interface Overview: This section includes a general description of the interface system components as well as a high-level description of the interface process with more detailed information for components that are pertinent to the interface.

· Section 3 – Responsibilities: This section provides roles and responsibilities of the organizations involved in the design, development, and testing phases of the interface.

· Section 4 – Interface File: This section provides detail mapping of the interface file and the corresponding Pegasys fields updated by the interface.

· Section 5 – Interface Processing: This section provides details of how and when the interface is triggered to begin processing. It describes the interface process functionality and details of interface controls and error handling mechanism.

· Section 6 – Pegasys Batch Jobs and Mscript: This section provides the batch job definitions for Pegasys and the Mscript used to execute this process.

· Section 7 – Pegasys Estimated Accruals Tables: This section provides the data definition of the Pegasys Estimated Accruals Form and Document tables.

· Section 8 – Test Scenarios: This section lists suggested, high-level test scenarios for the utilities estimated accruals interface.

· Section 9 – Open Action Items: This section lists any open action items that may impact the utilities estimated accruals interface.

Interface Overview

This section contains an overview of the utilities estimated accruals interface sufficient to provide a high-level understanding of the components as a whole. Detailed information is provided for components or portions of components that are specifically pertinent to the interface.

2.1 Interface Purpose

This interface submits utilities estimated accruals transactions to Pegasys. Utilities estimated accruals exist today, but the source of the transactions will change with this implementation. Creation and submission of utilities estimated accruals will become the responsibility of MetTel.

2.2 Interface Description

MetTel will create a single flat-file containing utilities estimated accruals transactions as record sets in the format specified in this document. The file will be submitted to the FMESB, which will reformat the data and send the reformatted file to Pegasys to be processed by the Batch Controls and Form Import batch processes.

Once the Pegasys batch processes complete, the batch execution report (BER) is returned to the MetTel feeder system via the FMESB. The BER is a text file report created by the Form Import job that describes the job’s parameters as well as how the job dealt with each input record. Receipt of the BER signals MetTel that the Form Import job of estimated accruals has processed. Any submitted estimated accruals documents that fail to process will become held, rejected forms in Pegasys and must be manually corrected and processed by USDA.

The overall process for utilities estimated accruals transaction submissions from MetTel is illustrated in Exhibit 2‑1.

Exhibit 2‑1: Utilities Estimated Accruals Submissions Process

Exhibit 2‑2 shows the system boundaries traversed by the interface and lists the respective roles and responsibilities. Exhibit 2‑3 provides a brief description of each interface component

Exhibit 2‑2 Interface System Responsibilities

Exhibit 2‑3: Interface Components

ComponentDescription
MetTel’s Feeder SystemMetTel’s feeder system will be enhanced (or developed) to provide the utilities estimated accruals file described in this document.
Interface Flat-fileThe interface flat-file is the mechanism for transmitting estimated accruals (AI document) transactions from the MetTel feeder system to Pegasys. The file layout, including data elements and mapping, is defined in this document.
FMESBThe FMESB manages flat-file exchanges to/from Pegasys including maintaining an audit trail of file transfers. It performs batch control checks on files from the MetTel feeder system and provides email notifications if errors are encountered.
Pegasys Batch ControlsThe Pegasys Batch Controls batch job (GSAN2PBC) is responsible for validating file and batch controls placed on the flat-file by the MetTel interface process. These controls are checked against the Batch Controls job parameters as well as the Pegasys database to validate file origin and sequencing information.
Pegasys Form Import ProcessThe Form Import Process (GSIMPORT) reads a sequential file containing transactions from external systems and creates forms in the Pegasys database. The forms can be scheduled for offline processing, submitted for processing, or held for review by an online user. When the forms are processed, either offline or online, they are subject to the same edits and perform the same updates as if they were entered directly into Pegasys. For the utilities estimated accruals interface, the Form Import Process will be configured to immediately submit all forms for processing. Forms that do not pass edits are held in a rejected state and must be corrected and processed manually by USDA.

2.3 Interfacing Systems

For context, a brief description of the high-level systems involved directly or indirectly in the utilities estimated accruals interface is provided in the following Exhibit.

Exhibit 2‑4: Interfacing Systems

SystemDescription
MetTel’s Feeder SystemMetTel’s Feeder System will provide the source data imported into the Pegasys estimated accrual forms, through the Utility Accruals Interface.
FMESBGSA’s FMESB is a JBoss ESB-based Enterprise Service Bus platform that connects GSA’s financial integrations partners with Pegasys, providing financial transactions and reference data services.
PegasysPegasys is GSA’s financial system of record. The Pegasys software consists of online and batch facilities, each supported by an extensive framework and Application Programming Interface (API) responsible for the provision of core financial services. The Pegasys portion of the billing interface is comprised of two existing Pegasys components: the Batch Controls batch job and the Form Import batch job.

Responsibilities

This section defines responsibilities as they apply to the design, development, and testing of the utilities estimated accruals interface, listed in Exhibit 3‑1 as well as operations and maintenance, listed in Exhibit 3‑2.

Exhibit 3‑1: Interface Responsibilities (Design, Development, and Testing)

PartyResponsibilities
USDA OCFO§ Participate in the development and review of this specification document by providing subject matter expertise for utilities estimated accruals data and processes

§ Review and provide comments prior to finalizing this specification § Test the MetTel feeder system to meet the requirements for the exchange of data as defined in this specification document § Support Pegasys System Testing including providing realistic test data, research, and analysis as needed § Review System Test results § Conduct User Acceptance Testing (UAT) § Conduct End-to-End testing GSA § Participate in the development of this specification document by providing subject matter expertise for utilities estimated accruals data and processes § Review and provide comments prior to finalizing this specification § Test the MetTel feeder system to meet the requirements for the exchange of data as defined in this specification document § Participate in UAT and End-to-End testing MetTel § Participate in the development of this specification document by providing subject matter expertise for utilities estimated accruals data and processes § Review and provide comments prior to finalizing this specification § Develop the MetTel feeder system to meet the requirements for the exchange of data as defined in this specification document § Support Pegasys System Testing including providing realistic test data, research, and analysis as needed § Participate in UAT and End-to-End testing CGI Federal § Primary authors of this specification document § Provide Pegasys subject matter expertise § Provide configuration data for the FMESB to receive, process and transmit input and output files related to this interface § Develop test scripts § Perform System Testing § Support UAT and End-to-End testing

Exhibit 3‑2: Interface Responsibilities (Operations & Maintenance)

PartyResponsibilities
USDA OCFO§ Execute and monitor Pegasys batch jobs that process the utilities estimated accruals file received from the FMESB

§ Resolve problems identified by the Batch Controls program. If the file must be corrected and re-submitted to the FMESB, OCFO must notify MetTel.

§ Provide Operations and Maintenance (O&M) support for the FMESB

USDA Finance§ Correct and process any rejected forms created as a result of MetTel-submitted estimated accruals failing to process during the execution of Form Import
MetTel§ Generate the utilities estimated accruals file and submit that file to the FMESB

Interface File

This section describes the interface file, including the structure, file naming convention, and the layouts and mappings for the different record types. The interface file contains data for the creation of estimated accrual documents in Pegasys. The Pegasys document category for estimated accruals is AI, so AI may appear in subsequent sections of this document when talking about estimated accruals.

4.1 Interface File Structure

The utilities estimated accruals file contains three main sections: a header section, a data records section and a trailer section. The file uses a generic structure that can accommodate multiple batches, but only one batch will be included for this interface, so only one batch header and one batch trailer is required. The data records section of the file consists of record sets, each containing one AI header record followed by one or more AI Accounting Line records (MetTel feeder system must provide the valid lines for their transactions). Thus, there are a total of six record types in the file. The following diagram illustrates this format:

Exhibit 4‑1: Utilities Estimated Accruals AI File Structure

4.2 File Naming Convention

The utilities estimated accruals file will be named as follows:

UTLEA_YYYYMMDDHHMMSS

where YYYYMMDDHHMMSS is a date/time stamp (year, month, day, hours, minutes, seconds).

If the incoming file name does not match this pattern, it will not be picked up by the FMESB.

4.3 Header/Trailer Formats

This section describes the batch controls records required in any file of utilities estimated accruals documents sent from the MetTel feeder system to the FMESB. All of the header and trailer records have a fixed-length format (trailing spaces are not allowed).

The following bullets outline the purpose and format for each column found in the tables below:

· File Element: identifies the field name as it is recognized by the Pegasys Form Import Batch job.

· Description: contains notes on the field title and format.

· Import File Start Position: identifies the import file start position.

· Field Length: identifies the import file field length.

· Format: indicates the values that the MetTel feeder will send:

} A “+” sign indicates the values are to be concatenated within the field.

} Quotations “” indicate the permitted values; a single value in quotes indicates the only permitted value.

} Dates: “YDDD” represents the ordinal date. The first digit represents the last digit of the year; i.e., 9 for 2019. The next three digits are the day of the year starting with 001 for January 1st through 365 for December 31st or 366 for December 31st on leap year.

} Dates: “MM” represents a two-character numeric month value; “DD” represents a two character numeric day value. “YY” represents a two-character numeric year value; “YYYY” represents a four-character numeric year value. When these date values are to be concatenated, they are placed next to each other without a ‘+’ sign.

} Times: “HHMMSS” represents a two-character numeric hour value (“HH”), a two character numeric minute value (“MM”) and a two character numeric second value (“SS”).

} A “#” sign represents a numeric value.

} “Leave blank” indicates that the MetTel feeder will not send a value for this field.

The format of the utilities estimated accruals file header is detailed below:

Exhibit 4‑2: Utilities Estimated Accruals File Header Format

File Header ElementDescriptionImport File Start PositionField LengthFormat
File Header IndicatorThis indicates the line is the file header, this is required14“FHDR”
Envelope VersionMust equal the value of the envelope Version parameter in Pegasys Batch Controls job (also validated in FMESB).53“PG1”
FillerBlank Spaces812Leave blank
File TypeFile Type identifier. Note the File Type value will be validated against FMESB and Pegasys reference tables (FILE_TYPE and GSA_INCG_FILE_TYP, respectively).204“UTLA”
DateDate244YDDD
Period SeparatorPeriod Separator281“.”
Sequence NumberFile Sequence Number. This must be the last File Sequence Number + 1. Once 999 is reached, the next file must be 001.293###
Date and TimeDate and Time of file creation, using a 24-hour time format.3214YYYYMMDDHHMMSS
Point of ContactNote the Point of Contact value will be validated against Pegasys and FMESB reference tables (POINT_OF_CONTACT and GSA_INCG_BATC_POC, respectively).4610“FMESBREPS ”

Note: this is a 10-character field, so the final value would be FMESBREPS plus one additional space at the end.

An example of the utilities estimated accruals file header is as follows:

FHDRPG1 UTLA9302.00120191029081515FMESBREPS

The format of the utilities estimated accruals batch header is detailed below:

Exhibit 4‑3: Utilities Estimated Accruals Batch Header Format

Batch Header ElementDescriptionImport File Start PositionField LengthFormat
Batch Header IndicatorThis indicates the line is the batch header14“BHDR”
Batch TypeRefers to the configured Batch Type. Note the Batch Type value will be validated against FMESB and Pegasys reference tables (BATCH_TYPE and GSA_INCG_BATC_TYP, respectively).52“UT”
Record VersionVerified for duplication but not used by Batch Controls Process – not used in this interface, leave blank73Leave blank
Batch IDUsed with Batch Type to determine batch sequence or batch duplication. The format is XXXYDDD### where XXX = Batch ID Prefix, YDDD = ordinal date and ### = Batch Sequence Number. The batch ID itself needs to be unique. Therefore, the convention is to use 001 for the first file on each unique date. October 29, 2019 is ordinal date 9302. If only one file is sent on 10/29/19, then it would be UTL9302001. If a second file is sent on 10/29/19 then it would be UTL9302002. Since utilities is once a month, it should always be UTLYDDD001.1010“UTL” + YDDD + ###
Batch DateDate of batch YYYYMMDD208YYYYMMDD

An example batch header is as follows:

BHDRUT UTL930100120191029

The format of the utilities estimated accruals batch trailer is detailed below:

Exhibit 4‑4: Utilities Estimated Accruals Batch Trailer Format

Batch Trailer ElementDescriptionImport File Start PositionField LengthFormat
Batch Trailer IndicatorThis indicates the line is the batch trailer.14“BTRL”
Batch TypeRefers to the configured Batch Type; must match the Batch Type from the corresponding Batch Header.52“UT”
Record VersionMust match the Record Version from the corresponding Batch Header: blank.73Leave blank
Batch IDMust match the Batch ID from the corresponding Batch Header.1010“UTL” + YDDD + ###
Number of Lines in BatchValidated against the number of lines read from the batch. For utilities estimated accruals, that means only the AI data records. If the file contains one AI header and one AI line, this value is 2.206Numeric: Leading zeroes are required for numeric values less than 6 digits long.
Total Dollar AmountValidated against the sum of amounts from the data records in the batch. For this field, a two-digit decimal point is assumed, so a $300.15 amount should be submitted as 30015.2615Currency, do not submit a decimal: Leading zeroes are required for currency values less than 15 digits long. For negative values, the first position must be a minus sign.

An example of a utilities estimated accruals batch trailer for a file with two records and a summation total of $4,560.83 is as follows:

BTRLUT UTL9301001000002000000000456083

The format of the utilities estimated accruals file trailer is detailed below:

Exhibit 4‑5: Utilities Estimated Accruals File Trailer Format

File Trailer ElementDescriptionImport File Start PositionField LengthFormat
File Trailer IndicatorThis indicates the line is the file trailer14“FTRL”
Envelope VersionMust match the Envelope Version from the file header53“PG1”
File TypeMust match the File Type from the file header.84“UTLA”
DateMust match the Date from the file header.124YDDD
Period SeparatorPeriod Separate161“.”
Sequence NumberMust match the Sequence Number from the file header.173###
Number of Batches in FileValidated against the number of batches read from the file, for this interface, there will always be one batch.203“001”

An example of a utilities estimated accruals file trailer is as follows:

FTRLPG1UTLA9302.001001

4.4 AI Data Records for Utilities Estimated Accruals

This section provides the detailed layout and mapping for the data records, describes the requirements associated with reference-backed fields in the interface file, and provides examples of data records. Reference data supplied by MetTel will be provided by GSA and periodically updated to add/remove values as necessary.

The mappings in these tables are the result of an analysis of more than 100,000 existing documents used to record utilities estimated accruals data between January 1, 2015 and September 15, 2016. This analysis looked at existing data for fields that were commonly populated as well as data values that were static throughout.

Based on historical data, utilities estimated accruals documents were submitted monthly, in a single file, typically during the beginning of the month (7th-8th). Each file contained approximately 3,600 documents, the majority of which contain a single accounting line (although there are some documents with two).

MetTel will submit one file of estimated accruals per month, on the 25th (or the next business day if the 25th falls on a weekend). Records that are rejected by Pegasys will be corrected and reprocessed manually by USDA. Utilities accruals will be reversed using the GSREVERSEUA batch job, which runs after month-end.

The utility expense accruals generate three business days before the end of the month and self reverse in the next accounting period. The amount is calculated based on the most recent service period processed by the third party utility invoice processor. A daily rate is calculated from the payment amount and number of service days on the invoice. The daily rate is then used to determine the accrual amount using the ending service date on the invoice.

Example 1 – Most recent service period received and processed by the third party utility invoice processor was 10/1/2017-11/7/2017 and the accrual date is 11/28/2017:

ServiceStartDate on invoice 10/1/2017

ServiceEndDate on invoice 11/7/2017

BillTotalCharges 6,024.25

Days of service +1 38 (11/7/2017 - 10/1/2017 + 1)

Daily rate 158.53 (6,024.25 / 38)

Accrual date 11/28/2017 (3 business days before the end of the month)

Days to accrue 21 (11/28/2017 - 11/7/2017)

Accrual amount 3,329.19 (158.53 * 21)

A UA document will generate in Pegasys for $3,329.19 on November 28, 2017. The UA document will self reverse around December 10, 2017.

There is a potential for the accrual amount to be for more than one month’s worth of services.

Example 2 – Most recent service period received and processed by the third party utility invoice processor was 9/1/2017-9/30/2017 and the accrual date is 11/28/2017:

ServiceStartDate on invoice 9/1/2017

ServiceEndDate on invoice 9/30/2017

BillTotalCharges 6,024.25

Days of service +1 30 9/30/2017 - 9/1/2017 + 1)

Daily rate 200.81 (6,024.25 / 30)

Accrual date 11/28/2017 (3 business days before the end of the month)

Days to accrue 59 (11/28/2017 – 10/1/2017)

Accrual amount 11,847.69 (200.81 * 59)

A UA document will generate in Pegasys for $11,847.39 on November 28, 2017. The UA document will self-reverse around December 10, 2017.

4.4.1 AI Data Records Layout

The AI data records, unlike the batch controls header and trailer records, have a variable length format using a tilde (~) as the field terminator. Each field on the record layout is separated from the next value by a tilde. The tilde is actually a terminator for each field, so there will also be a tilde after the very last field on the line. There can be no trailing spaces following the final tilde on a line – the tilde must terminate the line. Fields with no value on the record layout will result in two sequential tildes: the tilde designating the end of the previous field, and a tilde designating the end of the blank field (e.g. ~~).

The AI data records must be provided in sets consisting of one header record followed by one or more accounting line records. There may be any number of records sets in a single file. Each combination of an AI header and one or more AI lines will constitute a single estimated accruals document in Pegasys.

· Column: represents a column identifier for reference.

· Length: identifies the maximum import file field length. Fields are variable length up to the maximum. Leading and trailing spaces should not be included.

· Input Field Name: identifies the field name as it is recognized by the Pegasys Form Import Batch job.

· Description: indicates the full text name of the field and optionally a short description.

· Mandatory: denotes whether the field is required.

} R* means that this field is required by Pegasys and must be provided

} R means that this field is required by GSA utility estimated accruals and must be provided

} O means this field is optional and may be provided if a value is known

· Notes: includes notes about the field such as a list of valid values (if applicable) or identifying that the field is reference-backed. If the field is identified as reference-backed, the name of the Pegasys table used for validation is also provided. Reference-backed fields are discussed further in Section 4.4.2.

· Mapping: provides the value that should be populated in this column.

} A + sign indicates the values are to be concatenated within the field.

} Double quotations “” indicate the permitted values; a single value in quotes indicates the only permitted value.

} Dates: MM represents a two-character numeric month value; DD represents a two-character numeric day value. YY represents a two-character numeric year value; YYYY represents a four-character numeric year value. When these date values are to be concatenated, they are placed next to each other without a + sign.

} A # sign represents a numeric value.

All values supplied in AI header and line records should be limited to the printable ASCII character set (numbers, punctuation, whitespace and letters). Control characters or other special characters are prohibited and could cause problems with the processing or storing of the submitted data. The tilde character (~) must also not appear in any of the data fields since that character is the Form Import field terminator.

Exhibit 4‑6 and Exhibit 4‑7 below provide the data mapping for the AI header record and the AI accounting line record, respectively.

Exhibit 4‑6: Utilities Estimated Accruals (Itemized Receipt) Header Record Elements

ColumnMaximum LengthField NameDescriptionMandatoryNotesMapping
Identification Information
12Batch Type IndicatorIdentifies the Batch Type of the recordR*Identifies the batch type of this record to the FMESB.“UT”
21Information IndicatorIdentifies the line as a Header recordR*Indicates to the FMESB that this is a header record.“1”
IC Header Information
3 - 64 unused fields, each with no value and a terminating tilde
77ACPDAccounting PeriodR*Format: MM/YYYY
Reference-backed field (MF_ACTG_PERD)Fiscal month and year to which the accrual applies. Example: utility estimated accruals for February 2019 would have a value of: 05/2019
8 - 4134 unused fields, each with no value and a terminating tilde
4230CUST_ACCT_NUMCustomer Account NumberRCurrently not populated.

Populate with the utility customer account number (Account Number column on Masterfile)

43 – 464 unused fields, each with no value and a terminating tilde
4730DOC_NUMDocument Number, which is unique in PegasysR*UA + YYYYMMDD +

Where :

“UA” = document type YYYYMMDD = Document calendar date ######= 6-digit sequential number within document type and date for the given file (each day’s file starts over at 000001).

If this transaction is the resubmission of a previously rejected transaction, then the previous document number should be reused. Document type + YYYYMMDD+ ###### Example: UA20190923000025

481 unused field with no value and a terminating tilde
4910DSBG_OFFCDisbursing OfficeR*Reference-backed (MF_DSBG_OFFC)“AU7”
50255DSCRDescriptionOFree-form textMetTel can populate this field with any information relevant to this document
5110DTYPDocument TypeR*Reference-backed field (MF_DOC_TYPE)“UA”
52 – 10352 unused fields, each with no value and a terminating tilde
1047RPTN_ACPDReporting Accounting PeriodRFormat: MM/YYYY
Reference-backed field (MF_ACTG_PERD)The accounting period in which this transaction should be reported. Example: a reporting accounting period of February 2019 would have a value of: 05/2019
105 – 1117 unused fields, each with no value and a terminating tilde
1123RVRE_AFTR_PRDSReverse After PeriodsR*The number of periods after which the item is reversed.‘1’
1131RVRE_AUTMIndicates the accrual should be automatically reversed.R“T”
114 – 1207 unused fields, each with no value and a terminating tilde
12150TITLTitle of the transactionRFree-form textMetTel will populate this field with the associated GSA Purchase Order number.

(TITL column on Masterfile)

122 - 1265 unused fields, each with no value and a terminating tilde
12713VEND_ADDR_CDVendor Address CodeR*Reference-backed field (MF_ADDR_LEVL_VEND)Populate with MetTel’s Vendor Address Code. (“00022”)
12810VEND_CDVendor CodeR*Reference-backed field (MF_VEND)Populate with MetTel’s Vendor Code.

("510374236")

129 - 1302 unused fields, each with no value and a terminating tilde
13130XSYS_DOC_NUM_CHExternal system Document NumberRFree-form textUnique account identifier value from MetTel for this utility customer.

(MetTel Bill ID)

13210XSYS_IDThe identifier of the external system in which the transaction originatedRReference-backed field (MF_SYS_ID)“METTEL”
133 – 18351 unused fields with no value and a terminating tilde (reserved for future use)

Exhibit 4‑7: Utilities Estimated Accruals Accounting Line Record Elements

ColumnMaximum LengthField NameDescriptionMandatoryNotesMapping
Identification Information
12Batch Type IndicatorIdentifies the Batch Type of the recordR*Identifies the batch type of this record to the FMESB.“UT”
21Information IndicatorIdentifies the line as a Detail recordR*Indicates to the FMESB that this is an accounting line record.“2”
AI Line Information
31 unused field with no value and a terminating tilde
47ACPDAccounting PeriodR*Format: MM/YYYY
Reference-backed field (MF_ACTG_PERD)Fiscal month and Fiscal year to which the accrual applies. Example: utility estimated accruals for February 2019 would have a value of: 05/2019
51 unused field with no value and a terminating tilde
620ACTYActivity (Function Code)RReference-backed field (MF_ACTY_BFY)Populate with appropriate activity for this estimated accrual line.

(ACTY column on Masterfile) 7 5 AGRE_LNUM_CH Agreement Line Number O Reference-backed field (MF_ED_DOC_LN, MF_ID_DOC_LN) Agreement line number.

If agreement number is populated, then populate with value of '1'

820AGRE_NUMAgreement NumberOReference-backed field (MF_AGRE_XTRN_DOC, MF_AGRE_INTN_DOC)Agreement number (AGRE NUM column on Masterfile)
94BBFYBeginning Budget Fiscal YearR*Reference-backed field
(MF_FUND)Current fiscal year (YYYY).
1020BDOBBudget ObjectR*Reference-backed field (MF_BDOB_BFY).Populate with appropriate budget object for this estimated accrual line.

(BDOB on Masterfile)

11 – 188 unused fields, each with no value and a terminating tilde
194CLINContract Line NumberR*“1”
201 unused field with no value and a terminating tilde
211CTRC_FLIndicator of Contract or Blanket AgreementR“C”
2230CTRC_NUMContract NumberR*GSA Contract No. (CRC_NUM column on Masterfile)
2320DIVDivisionR*Reference-backed field (MF_DIV_BFY)Populate with appropriate region for this estimated accrual line.

(Region column on Masterfile. This column will be populated with the two-digit numerical value.)

24 – 274 unused fields, each with no value and a terminating tilde
28255DSCRDescriptionRFree-form textPopulate with the Utility company name. (Utility Name column on Masterfile)
291 unused field, with no value and a terminating tilde
3010DTYP_DFND_AL10Accrue Through DateOUsed for MetTelPopulate with date through which accrual is to be made.
3110DTYP_DFND_AL2Days Of ServiceOUsed for MetTelPopulate with calculation of Service End Date – Service Start Date + 1
3210DTYP_DFND_AL3Bill Total ChargesOUsed for MetTelPopulate with total charges, excluding previous balance
3310DTYP_DFND_AL4Cost Per DayOUsed for MetTelPopulated based on calculation of Total Bill Charges / Days of Service
3410DTYP_DFND_AL5Days To AccrueOUsed for MetTelPopulate with calculation of number of days from entry date to Service End Date
3510DTYP_DFND_AL6Accrual AmountOUsed for MetTelPopulate with Cost Per Day * Days to Accrue calculation
3610DTYP_DFND_AL7Bill IDOUsed for MetTelReference ID from Bill
3710DTYP_DFND_AL8Service End DateOUsed for MetTelPopulate with date service is to end (MM/DD/YYYY)
3810DTYP_DFND_AL9Service Start DateOUsed for MetTelPopulate with date service is to start (MM/DD/YYYY)
394EBFYEnd Budget Fiscal YearOOnly needed if the fund on this accounting line has an EBFY.Populate with this fund’s EBFY (YYYY) if applicable
40 – 412 unused fields, each with no value and a terminating tilde
4220FUNDFundR*Reference-backed field (MF_FUND)Populate with appropriate fund for this estimated accrual line.

(Appropriation Code column on Masterfile)

43 – 486 unused fields, each with no value and a terminating tilde
495LNUMLine NumberR*Values: a sequential number beginning with “1”. The number must be unique to the document.
“1”, “2”, “3”, etc.1, 2, 3, etc.
50 - 534 unused fields, each with no value and a terminating tilde
5420ORGNOrganizationR*Reference-backed field (MF_ORGN_BFY)Populate with appropriate organization code for this estimated accrual line (ORGN column on Masterfile)
55 - 606 unused fields, each with no value and a terminating tilde
6120PROGProgramRReference-backed field (MF_PROG_BFY)Populate with appropriate program code for this estimated accrual line.

(PROG column on Masterfile) 62 20 PROJ Project O Reference-backed field (MF_PROJ_BFY) Populate with appropriate project code for this estimated accrual line.

(PROJ column on Masterfile)

63 - 7816 unused fields, each with no value and a terminating tilde
792SCLI_NUMSub-Contract Line item NumberRGSA to provide number to MetTelPopulate with existing sub-contract line number (SCLI NUM column on Masterfile)
801 unused field with no value and a terminating tilde
8130SRC_NUMSource NumberRSame as the Customer Account Number field on the header.Populate with the utility customer account number (Account Number column on Masterfile)
82 - 876 unused fields, each with no value and a terminating tilde
883TRAN_CRCYTransaction CurrencyR*Reference-backed field
(MF_CRCY)“USD”
8928TRAN_CRCY_AM_CHTransaction amount for this lineR*Amounts are supplied without the dollar sign. Examples: 75.00, 200.00, 99.95.Dollar amount for this estimated accrual accounting line
90-989 unused fields, each with no value and a terminating tilde
994TTTransaction TypeR*Reference-backed field
(MF_TRAN_DEF)“01”
1001 unused fields, each with no value and a terminating tilde
10120USER_DM1Building NumberRReference-backed field
(MF_USER_DM1)Populate with appropriate building code for this estimated accrual line

(USER DM1 column on Masterfile)

102 – 1043 unused fields, each with no value and a terminating tilde
10520USER_DM5Lease NumberOReference-backed field
(MF_USER_DM5)Populate with appropriate Lease number for this estimated accrual line

(USER DM5 column on Masterfile)

106 – 1116 unused fields, each with no value and a terminating tilde
1124YBAYear of Budget AuthorityRFormat: YYYYPopulate with YBA fiscal year value
113 – 16250 unused fields, each with no value and a terminating tilde (reserved for future use)

4.4.2 Reference-Backed Fields

Some fields in Exhibit 4‑6 and Exhibit 4‑7 are identified as reference table-backed in Pegasys, and the specific Pegasys reference table is identified. If a value is provided for one of these fields, then it must exist in the reference table, or the entire AI transaction will be rejected. Note that if no value is sent for the field then the reference table validation will not fail. However if the field is required, then other errors may be generated.

4.4.3 Data Record Mapping Example

To illustrate the record mapping, a sample transaction was mapped. The corresponding AI Header and Accounting Line records are listed in Exhibit 4‑8 and Exhibit 4‑9, respectively.

Exhibit 4‑8: IC Header Record for Example

ColumnDescriptionIC Header values
1Identifies the Batch Type of the recordUT~
2Identifies the line as a Header1~
3-64 unused fields~~~~
7Accounting Period01/2019~
8 - 3932 unused fields~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
40Contract Number associated with this receiptGS-21F-0045U~
41Unused field~
42Customer Account Number (Utility Customer Account Number)797535194~
43 – 464 unused fields~~~~
47Document NumberUA201910290000025~
48Unused field~
49Disbursing officeAU7~
50DescriptionUtility services for DOD~
51Document TypeUA~
52 – 10352 unused fields~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
104Reporting Accounting Period01/2019~
105 – 1117 unused fields~~~~~~~
112Reverse after Periods1~
113Indicates the accrual should be automatically reversed.T~
114 – 1207 unused fields~~~~~~~
121Title (GSA Purchase Order Number)B7A00014~
122 - 1265 unused fields~~~~~
127Vendor Address Code (MetTel’s Vendor Address Code)00022 ~
128Vendor Code (MetTel’s Vendor Code)510374236~
129 - 1302 unused fields~~
131External System Document Number (Unique account identifier value)TBD~
132ID of the external system in which the transaction originatedMetTel~
133 - 18351 unused fields (50 of which are reserved for future use)~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Exhibit 4‑9: AI Accounting Line Record for Example

ColumnDescriptionAI Accounting Line Values
1Identifies the Batch Type of the recordUT~
2Identifies the line as a detail record2~
3Unused field~
4Accounting Period01/2019~
5Unused field~
6Activity (Function Code)PGC11~
7Agreement Line Number1~
8Agreement Number0102267~
9BBFY2019~
10Budget ObjectH08~
11 – 188 unused fields~~~~~~~~
19Contract Line Number1~
20Unused field~
21Indicator of Contract or Blanket AgreementC~
22Contract Number04B36093~
23Division (Region)07~
24 – 274 unused fields~~~~
28DescriptionCity of Baltimore~
29 – 3810 unused fields~~~~~~~~~~
39EBFY~
40 – 412 unused fields~~
42Fund192X~
43 – 486 unused fields~~~~~~
49Line Number1~
50 – 534 unused fields~~~~
54OrganizationP0525166~
55 – 606 unused fields~~~~~~
61ProgramPG61~
62Project~
63 – 7816 unused fields~~~~~~~~~~~~~~~~
79Sub-contract Line item number (UPPS line number)17~
801 unused field~
81Source NumberXXXXX~
82-876 unused fields~~~~~~
88Transaction CurrencyUSD~
89Transaction Amount4560.83~
90-989 unused fields~~~~~~~~~
99Transaction Type01~
1001 unused field~
101Building NumberOK0041ZZ~
102 – 1043 unused fields~~~
105Lease NumberLEASE123~
106 - 1116 unused fields~~~~~~
112Year of Budget Authority2019~
113- 16250 unused fields (reserved for future use)~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Interface Processing

This section describes the functional and technical details of the interface including process functionality, data validation, business rules, interface file controls, and error handling.

5.1 Interface Processing Diagram

The following Business Process Flow diagram shows the interface processing steps allocated to “swim lanes” that identify the responsible component. The components include:

· MetTel feeder system

· FMESB

· GSA Operations: this group is responsible for initiating and monitoring the processing of batch jobs

· Pegasys

Exhibit 5‑1: Utilities Estimated Accruals Interface Processing

5.2 Process Initiation

The MetTel feeder system will submit files for utilities estimated accruals to the FMESB at pre-determined intervals. In the unlikely event that two files need to be sent on the same day, the sequence number element of the Batch ID in the Batch Header record must be incremented. For example, the Batch ID for the first file sent on 1/31/2019 would be UTL9031001, and the Batch ID for the second file sent on 1/31/2019 would be UTL9031002.

File submission triggers FMESB processing, which transfers the file to Pegasys. Pegasys will process the submitted file at a scheduled time during GSA’s daily Pegasys batch cycles. The Pegasys processing is initiated by the Tivoli Workload Scheduler, which invokes a script responsible for execution of the job sequence as well as the management of housekeeping tasks (such as moving or renaming files). The execution of the job in Pegasys needs to be scheduled in conjunction with the production and transmission of the interface flat-file by the MetTel feeder system.

Note that if there are no accrual transactions to send, then no file should be submitted. In other words, a file containing only headers and trailers with no data records should never be sent.

5.3 Process Functionality

The MetTel feeder system will format utilities estimated accruals transactions as specified in this document and send the generated file via sFTP to the FMESB where it is transformed into the Pegasys Form Import format. The flat-file produced by the FMESB retains the header and trailer records exactly as they were submitted from the feeder system, but transforms the AI header and accounting line records into the Pegasys Form Import format shown in Section 4.4.1.

The flat-file produced by the FMESB is processed first by the Pegasys Batch Controls job and then by the Pegasys Form Import job. The Batch Controls job performs file validations only. The Form Import job creates AI forms and then processes them to AI documents. The Form Import process also creates a batch execution report, which is returned to the MetTel feeder system via the FMESB.

5.3.1 Batch Controls Validations

There are two sets of batch control validations: The FMESB performs file-level validation before submitting the file to Pegasys, and then the Pegasys Batch Controls process also performs file-level validation. For the first check, if the file does not pass file-level validation, the entire file is rejected and both MetTel and OCFO will receive a File Reject Notification Email including a Reformatting Process Report from the FMESB. For the second check, if the file does not pass validation, the entire file is rejected and both MetTel and OCFO will receive an email notification.

The FMESB will perform the following file validations:

· In the File Header:

} Validates a File Header is present and starts with “FHDR”.

} Validates the Envelope Version exists in the FMESB reference table.

} Validates the File Type exists in the FMESB reference table.

} Validates the Sequence Number is the next consecutive value from the last file submitted. This will prevent duplicate files from being processed.

} Validates the Point of Contact exists in the FMESB reference table.

· In the Batch Header:

} Validates a Batch Header is present and starts with “BHDR”.

} Validate the Batch Type exists in the FMESB reference table.

} Validate the Batch Sequence Number has not been previously processed.

· In the Batch Trailer:

} Validates a Batch Trailer is present and starts with “BTRL”.

} Validates the Batch Type exists in the FMESB reference table.

} Validates the Batch ID field matches the Batch ID field from the Batch Header.

} Validates the Number of Lines in the Batch Trailer matches the number of lines in the Batch.

} Validates the sum of the record amounts matches the Total Dollar Amount on the Batch Trailer.

· In the File Trailer:

} Validates a File Trailer is present and starts with “FTRL”.

} Validates the Envelope Version exists in the FMESB reference table and matches the header.

} Validates the File Type, Date, and Sequence Number match the values from the File Header.

} Validates the Number of Batches in the File Trailer matches the number of batches in the file.

If any of these validations fail, the entire file is rejected and both MetTel and OCFO will be notified via email, including a Reformatting Process Report.

The following is a sample FMESB email specifying that errors were received:

OCFO FMESB batch file validation error(s):

File: UTLEA_20191001121455

Error Code: 156, Error Message: File sequence number validation error, Error Context: Line No: 1, File Type Sequence Flag is true and the supplied sequence number: 002, is not the next number of the last sequence number: 4

Error Code: 153, Error Message: Batch total line count validation error, Error Context: Batch Trailer Line No: 1716, Batch Trailer Line Count: 1497, is not equal to total parsed Batch Lines Count: 1713

The Pegasys Batch Controls Batch Job will perform the following file validations:

· In the File Header:

} Validates a File Header is present and starts with “FHDR”.

} Validate the Envelope Version is a valid batch job parameter.

} Validate the File Type exists in the Pegasys reference table.

} Validate the Sequence Number is the next consecutive value from the last file submitted. This will prevent duplicate files from being processed.

} Validate the Point of Contact exists in the Pegasys reference table.

· In the Batch Header:

} Validates a Batch Header is present and starts with “BHDR”.

} Validates the Batch Type exists in the Pegasys reference table.

} Validates the Batch Sequence Number has not been previously processed.

· In the Batch Trailer:

} Validates a Batch Trailer is present and starts with “BTRL”.

} Validates the Batch Type exists in the Pegasys reference table.

} Validates the Batch ID field matches the Batch ID field from the Batch Header.

} Validates the Number of Lines in the Batch Trailer matches the number of lines in the batch.

· In the File Trailer:

} Validates a File Trailer is present and starts with “FTRL”.

} Validates the Envelope Version is a valid batch job parameter.

} Validates the File Type, Date, and Sequence Number match the values from the File Header.

} Validates the Number of Batches in the File Trailer matches the number of batches in the file.

If any of these file validations fail, the entire file is rejected and OCFO will be provided with a notification email. The reason for the failure can be found in the Batch Controls report. No further processing will take place on the file.

5.3.2 Pegasys Form Import Processing

The Form Import process allows Pegasys to receive estimated accruals records from external systems, via flat-file, to create documents in Pegasys. Pegasys documents created via Form Import are subject to the same edits as if they were entered directly into Pegasys.

5.4 Error Handling

The FMESB performs file level validation before submitting the file to Pegasys. If the file does not pass FMESB file level validation, the entire file is rejected and MetTel will receive a File Reject Notification Email including a Reformatting Process Report. MetTel is responsible for taking action to correct this condition once the email is received. The errors must be fixed and the file re-submitted to the FMESB in its entirety.

In the second validation check, Pegasys performs validation edits on both the file and on each record. The following steps outline the Pegasys process:

1. The FMESB sends the file to Pegasys.

2. Pegasys Batch Controls performs file header, batch header, batch trailer, and file trailer validations. If any of these validations fail, the entire file will be rejected and a notification email will be sent to OCFO and OCFO is responsible for taking action. If the file must be corrected and re-submitted to the FMESB, OCFO must notify MetTel.

3. Pegasys Form Import attempts to process each estimated accrual document. If Pegasys cannot successfully process a document for any reason, it is saved in Pegasys as a rejected form that must be manually corrected and processed via the Pegasys user interface.

5.4.1 Batch Execution Report

The Form Import process generates a batch execution report, which lists the processing results for each set of records and provides summary statistics for the batch process.

The returned Form Import Batch Execution Report will be named as follows:

UTLEAIMPORT + YYYYMMDDHHMMSS.rpt

where YYYYMMDDHHMMSS is a date/time stamp.
This is an example file name: UTLEAIMPORT20190130151559.rpt

5.5 Interface Controls

Controls are included in the interface process at the file, document, and record level. The batch control validations described in Section 5.3.1 enforce controls at the level of the individual file. These checks include:

· Comparing record counts and the sum of the amount field with values sent in the trailer record to check that records have not been lost or corrupted.

· Comparing the file sequence number to the value for the previous file of this type to check that files have not be skipped or sent twice.

Record level integrity is supported by enforcing the existence of a unique identifier for each record. This value must be unique within Pegasys, not just within any particular interface file. Each incoming utilities estimated accrual record set must contain this unique identifier. The unique identifier for the record set is the Document Number field (DOC_NUM_CH). Additionally, each accounting line will also contain a Line Number field (LNUM_CH). The Document Number and Line Number fields together uniquely identify each accounting line.

5.6 Communication Methods and Security

MetTel will need to provide the utilities estimated accrual AI file as detailed in this document via sFTP to a specified location for the FMESB to acquire the file. In turn, the FMESB will validate batch controls, perform data reformatting, and then deliver the file via sFTP for processing by the Pegasys Batch Controls and Form Import batch jobs.

5.7 Performance Considerations

The following table reflects the overall count of documents and the overall count of accounting lines processed for UA documents during the 2019 fiscal year, grouped by accounting period. It is expected that the volume of transactions submitted through the new MetTel interface will not significantly vary from these recorded volumes.

Exhibit 5‑2: Utilities Estimated Accruals Document and Line Counts

Accounting PeriodDocument Count
(UE/UA Doc Type)Line Count

(UE/UA Doc Type)

01/201934674255
02/201934134199
03/201934294213
04/201934864275
05/201934954290
06/201934924282
07/201934934291
08/201934874288
09/201934744277
10/201934684279
11/201934794296
12/201934934309

Pegasys Batch Jobs and Mscript

This section describes the setup of the Pegasys batch jobs the utilities estimated accruals interface will use to process the AI records in Pegasys. Each batch job has specific naming conventions that must be followed for this process to work successfully. In addition to the import related batch jobs, the Document Reversal Process must also be run in Pegasys. The reversal process will reverse the amount of AI document lines to equal the closed amount, resulting in an outstanding amount equal to zero. The overall import process will be executed via an Mscript called utilimport.pl. The subsequent estimated accruals reversal process will be executed via another Mscript called utilreverse.pl. This reversal Mscript will also initiate the offline processor batch job (GSOFFLINEUA), which processes the scheduled forms created by the reversal process.

Exhibits 6-1 through 6-4 define the parameters for batch controls, Form Import, and the reversal…

This is the start of the file's text. The full file is on GovTribe.

File details come from the government source that posted it. Updated .