ABS Lawson AP Interface Module – Main Window - Paul Deis

advertisement
MBox Design, LLC
M2 Collision Care, Inc.
ABS - Lawson - Accounts Payable Interface Module
Design Specification
Overview
This document includes all details for the design of the ABS-Lawson AP Interface Module. The module includes all functions to as
seamlessly as possible, link AP activity occurring at each Store, reflected in each store’s Mitchell ABS system’s data, with the M2
Collision Care, Inc.(“M2” or “M2 Automotive”) corporate AP and financial reporting system, which utilizes the Lawson financial
software system. All windows planned in the Module are shown here. We have incorporated the PowerPoint screens used for
discussion into this document to avoid confusion. It is expected that this specification, as of the date shown above, will be approved
for development via a formal sign-off process.
Module Functions - Summary

The Module includes the following specific functions:



ABS Export File locator and control - provides, maintains
data to feed user-triggered file location and transfer to
Lawson server’s directories, performed by the Export File
Transfer function.
Export File Transfer - user triggered process that locates
ABS export files and physically transfers them to the
Lawson server for importing into the AP Reconciliation
Data Base. Eliminates manual searching of 25 store’s
directories, drag-and-drop moving of files, etc.

ABS file Importer - this function copies all data from each
export file into the AP Reconciliation data base’s tables.
Audit and Exception Reports - This includes a family of
related reports, each specialized for one or more specific
exception conditions. This enables focused correction of
various kinds of data error conditions, missing data, wrong
data, mismatches of dollar amounts, vendor ID’s, data
present but no hard copy, and others. Some of these will be
emailed. The main working report is the Active Invoices
report.
AP Reconciliation Editor - this is the main screen for the
module, and provides the ability to retrieve specific rows of
data from the data base for correction of errors, matching
against hard copies of invoices, and if desired, direct entry
M2 Automotive - ABS to Lawson - AP Interface Module
Design Specification -

of invoices not entered into the ABS system’s data base. It
includes complete validation logic as well as search and
selection of lists of invoices that correspond to data on
exception reports, to speed entry of correction data. The
user will know in all cases whether each invoice row in the
data base is completely free of errors, and can be posted to
the Lawson data base before leaving the screen. An Excellike grid, combined with a detail window, allows the user to
quickly see, review and handle a list of multiple invoices at
one time, while seeing the detail data for an invoice
identified by the cursor location.
Lawson Import File Generation - this process will prompt
for store selection, then scan the data in the Active Invoices
Page 2


table, apply complete validation logic, and select all rows
that meet full validation requirements, generating a data file
that completely meets the requirements of Lawson’s AP520
program.
Audit Trail Reports - all actions taken in the data base will
be completely viewable via audit, and history listings.
Email Module - this module will provide the ability to
maintain a list of store/email addresses, and a list of
automatically run reports that will be generated and
emailed to these addresses on a scheduled basis. This
function’s development is deferred.
Functions Added or Increased after Preliminary Design and Proposal (Scope Increases) - These are functions that are either
added completely, having been identified during the discovery process, or whose function has grown beyond what was originally
envisioned in the Preliminary Design & Proposal document. It is vital that clear communication be maintained at all times regarding
what can be expected, how it will work, how long it will take to create, and how much it will cost to develop. Areas in this
specification that are related to these scope increases are highlighted in a blue font.
Email List Maintenance - this is an additional screen that maintains data in the Store-Email table, a list of email addresses for each
store to which exception reports are to be sent. Development of this function is deferred until after M2 management indicates it is
ready for its development.
Email Engine - this function generates reports with certain types of exception data and emails them to a specified list of users, using the
Store-Email table as its source. It is run on demand by a user, and calls a Crystal Report, one store at a time, generates the report then
send it to the designated users. This function is deferred for now.
Out of Period Invoice Identification - Adds user selected current period, using a reference table in the data base containing the period
numbers and start and end dates for each period. It also uses a OP Reason Code, indicating both if and why the invoice was out of
period. The text explanations for the value of this code field are stored in a small reference table in the data base. Neither of these two
tables are user maintainable, with a System Administrator providing direct data updates using SQL Enterprise Manager. This function
M2 Automotive - ABS to Lawson - AP Interface Module
Design Specification -
Page 3
is provided to allow creation of a Out of Period Invoices exception report that is will produce repeatable results even as current period
dates change, and avoids the complexities of determining open/closed periods automatically and retroactively.
Vendor Location Detection - the Preliminary design proposal did not envision the complexity of handling multiple vendor locations,
and of attempting to identify which is the correct location via an automatic process. Discussion of 11/26 defined this function, but was
modified considerably in the 12/3 design meeting. A separate table, relating one or more stores to a given vendor location will be used
in stead of the originally envisioned single field appended to the vendor location data.
Vendor-specific Suspected Duplicate logic - the discussion of 11/26 resulted in a design decision to add a Vendor maintenance window
with fields to support vendor specific duplicate filtering, which would override the default logic used to determine whether to set the
Duplicate-Suspect invoice status flag. This design was amended during the 12/3 design meeting.
M2 Automotive - ABS to Lawson - AP Interface Module
Design Specification -
Page 4
Architecture
The diagram below shows, in summary form, how the different elements of the Module work together to provide a complete interface
and AP Invoice reconciliation set of tools for M2 financial management.
ABS-LawsonAP interface Module
Proposed Module Overview & Flow
Stores
Vendor Invoice
- Received,
entered
- In ABS data
Entry
AP Interface Module
ABS
- RO Cost
- AP
Export Files
.apd
.apt
AP Reconciliation
Data Base (SQL)
Import
- All Exported data
- Status of each
tracked
- Direct Edit, entry
- Exception Reports
- Validation to
Lawson DB Data
- Vendor table
Also have data
w/o hard copy
Hard Copy
Vendor Invoice
- Received
- Not entered
- Not in ABS data
FedEx'd
Invoices
Lawson System
Lawson DB
(SQL)
- Vendor Master
- AP
- Payments
AP520
Export File
- For Lawson
AP520
- Import
- 100% Valid data
Edit/Entry Window
Matched
-
Retrieve data
Hard copy matching
Correct erorrs
Make 100% postable
Vendor Invoice
- Received, entered
at Corp.
- Enter either into AP
Reconciliation DB, or
Lawson AP directly
Exception Reports
- Missing, incorrect Data
- Organized by type
of corrective action
Audit Reports
M2 Automotive - ABS to Lawson - AP Interface Module
Design Specification -
Page 5
Table and Process Flow
The diagram below expands on the architecture diagram above and shows how each table and process work together.
ABS-Lawson AP Interface Module
Table and Process Flow
Store
ABS
- AP Export
Export Files:
APCINVOICE
APCDISTRIB
A
Import Process
- Copies data into Temp tables, processes into
Working tables
- Updates Transfer History for each table
- Duplicate detection
- Vendor validation
- Discount calculation
- Distribution in balance
Transfer Process
- Scheduled Transfers
- Updates Transfer History
- Moves tables
Generate Audit &Exception
Reports
- Audit/Working Report - Store,
vendor specific
- Each type of condition
- Email Generator (deferred)
A
Transferred Files
APCINVOICE &
APCDISTRIB for
each store
Export Table Generator
- Selects 100% OK invoices
- Generates APCINVOICES
& APCDISTRIB files
- 100 %valid data
Working Tables
- Active_Invoices
- Active_Invoice_
Distribution
Transferred
Reports
Audit History
- Changes
- Users
Main Working/ Window
- Lists w/ Detail
Corrective Action
- Full Detail View
Activities:
- Invoice Matching
- Distribution
- Discounts
- Vendors,
- Flag Store Export Ready
- Maintenance Screens
- Action screens
History Tables
- Invoices
- Distribution
Export Run Log
- Each run
- History Link
Lawson Export Files
- APCINVOICES
- APCDISTRIB
Lawson AP520
Screen & Process
- Imports data
Lawson DB
(SQL)
- Vendor Master
- AP
- Payments
M2 Automotive - ABS to Lawson - AP Interface Module
Design Specification -
Page 6
Work Flow – Major Steps
The work flow sequence that has been discussed during the design conferences is summarized below for reference.
It was previously presented in a PowerPoint visual to aid in simulating the way the work flow will go with this
Module, and is incorporated into this specification to aid in understanding and for reference. The steps are:
 Run Scheduled Transfer Process – moves files, imports data into the Module
 Print the Active Invoices (Vendor Summary) Report – shows all invoice data for a Store, by Vendor. Use to
perform Audit process.
 Match hard invoice copies to data on Active Invoices report – note changes
 Access Main Window in the Module – make changes as needed to correct problems found during audit.
Auditor Flags Store as Export Ready in Main Window.
 Print Exception reports, emailing some to Stores to aid in resolving uncorrected invoices
 Work off remaining corrections to each Store’s batch as information becomes available to correct them. Each
uncorrected invoice in essence becomes part of the succeeding batch.

Run Lawson Export process – selecting by Store, using Store numbers flagged by Auditors as export ready
M2 Automotive - ABS to Lawson - AP Interface Module
Design Specification -
Page 7
Module Main Window – User Interface
This section illustrates approximately how the user interface will appear and describes how it will work. When the user starts up the
program, the user will see the main display window, shown below, with no data displayed initially. Initiating a selection action causes
the display portion of the window to display the retrieved data. The display shows most invoice data in an Excel-like grid. As the
cursor is moved through each row, that row’s invoice detail data is displayed in the window to the right, including all distribution rows.
This method combines the advantages of a single row display, with the ease of viewing detail without scrolling right and left, and to see
an associated list of data, i.e., the distribution data, without mouse movement, clicking, opening and closing windows, etc.
Part of each line’s display is colored “LED lights” that shown either red or green, indicating the status of that variable for each invoice.
When an invoice’s display lights are all green, it will be selected for export to Lawson the next time that the export program is run. All
cursor movements can be accomplished with soft-keys, or with the mouse.
Pull-down menus provide access to maintenance functions, such as the Scheduled Transfers list, or Vendor data, and to initiate batchtype processes that do not have interactive screens, such as the Lawson Export process.
Application - main window’s display (next page) - functions include:
As user scrolls through list of invoices, the Invoice Detail window shows detail data for that specific invoice line in the grid. All fields
except the “LED lights” are editable. New invoices are entered by starting a row at the end. A soft key for each field in the list and
detail screen allows the user to “jump” directly to that field with keystrokes only, avoiding mouse movements. The selected invoice
row in the grid is highlighted.
Invoice Status “led lights” (green if yes, red if no) (display only) No, indicates that the indicated value is NOT acceptable for export to Lawson, Yes (green) that
it is acceptable/valid for export:
M = Matched/OK (yes = green)
D-S – Not a Duplicate Suspect (yes = green)
D-D – Not a Duplicate definite (yes = green)
Dist.- Distribution OK (yes =green)
Disc - Discount calculated, OK (yes = green)
Vendor – OK (yes = green)
OP -Out of Period Invoice Code (not colored)
M2 Automotive - ABS to Lawson - AP Interface Module
Design Specification -
Page 8
ABS Lawson AP Interface Module – Main Window
Control
Store
No
Inv No No
Inv Date Due Date
2456
1234
123 11/11/11
1/11/11
2457
1234
123 11/11/11
1/11/11
2458
1234
123 11/11/11
1/11/11
2459
1234
123 11/11/11
1/11/11
2460
1234
123 11/11/11
1/11/11
2461
1234
123 11/11/11
1/11/11
2462
1234
123 11/11/11
1/11/11
2463
1234
123 11/11/11
1/11/11
2464
1234
123 11/11/11
1/11/11
2465
1234
123 11/11/11
1/11/11
2466
1234
123 11/11/11
1/11/11
2467
1234
123 11/11/11
1/11/11
2468
1234
123 11/11/11
1/11/11
2469
1234
123 11/11/11
1/11/11
2470
1234
123 11/11/11
1/11/11
2471
1234
123 11/11/11
1/11/11
*
Inv Amt
Pay Amt
$99,999.99 $99,999.99
$99,999.99 $99,999.99
$99,999.99 $99,999.99
$99,999.99 $99,999.99
$99,999.99 $99,999.99
$99,999.99 $99,999.99
$99,999.99 $99,999.99
$99,999.99 $99,999.99
$99,999.99 $99,999.99
$99,999.99 $99,999.99
$99,999.99 $99,999.99
$99,999.99 $99,999.99
$99,999.99 $99,999.99
$99,999.99 $99,999.99
$99,999.99 $99,999.99
$99,999.99 $99,999.99
<-----Invoice Status-------->
D D
D
O
M S D DT C V P
      9
      9
      9
      9
      9
      9
      9
      9
      9
      9
      9
      9
      9
      9
      9
      9
Vendor No. x--------------x
Loc Code x----x
x----name, address, city, state, zip---x
RO# 9999
Payment Terms Code x--------x
x----p/terms text------x
Dist. GL Dist. Amount Disc %
5010
60.00
5010.1
-4.00
6.67%
5030
20.00
5030.1
-2.00
10.00%
5040
20.00
5040.1
-2.00
10.00%
Pay Amt $99.999.99
Current Period No: 1 12/1/01 to 12/31/01
Highlights and Work Flow Notes:


Update invoice data for a store from annotated printed report.
Navigation Features (complete description in Window User Invoice Actions section below) –
o Control F – Brings Control Number Range window (shown below) up – select invoice range, mark all as Matched OK.
o Control G – prompts for a specific Control Number to Go To.
o Soft keys for direct field access (described below)
M2 Automotive - ABS to Lawson - AP Interface Module
Design Specification -
Page 9
Pull Down Menus Actions Menu - include:




Retrieve Invoice Data - generates new Invoice data in screen.
Run Scheduled Transfers – Includes a prompt for current period and
OK to run transfer. Otherwise is an unattended process.
Run Transfer File Import - initiates the unattended process to process
transferred files. May be removed from menu, called by Scheduled
Transfers process when it is completed. Processes all transferred files,
regardless of source.
Run Lawson Export – calls window (below) to view the export queue,
enter authorization code (matches Module Parameters value), then runs
process.
Reports Menu- see Reports section for details. When selected, a window is
displayed listing all available reports. Selecting one causes its parameters (if
any) to be prompted for, then generates the report to the screen, from which
it may be viewed or printed.
Maintenance Menu - includes windows for performing data maintenance on:




Module parameters
Stores & Vendor Locations
Scheduled Transfers
Vendor Dup Suspect parameters
Main Screen Functional Field Descriptions - the main window, shown above, in addition to the functions summarized above for the
“led lights” and menus, will work as follows:
 Data Retrieval - when launched, the program initially displays the screen with no retrieved data. The user will initiate the retrieval
process via the Actions Menu’s Retrieve Invoice Data option. It will bring a small selection screen to allow selection of the desired
Store’s invoice data to be retrieved and displayed. The window prompts for selection of a Store Number. A drop-down list
displays a list of store numbers and the associated store name/location to choose from.
 Control Number - display only column - uniquely identifies the invoice row, independently of its invoice number or other data.
 Invoice Number - can be changed as needed.
 Store Number - accessing the field will display a drop-down arrow, which when selected, will display the Stores drop-down list.
 Invoice Date - can be changed as needed; must be a valid calendar date. When accessed, the drop-down arrow will display, and
when selected will display a calendar to aid in the selection or entry process. The date format, when keying dates is mm/dd/yy.
 Due Date - can be changed as needed. The data import program will “plug” a date as needed to “force” a discount if one is
applicable for the vendor.
 Pay Amount - can be changed as needed. If changed, but the distribution values are not also changed, the Distribution Flag will be
set to red, indicating that the invoice is not in balance with its distribution.
 “LED Lights” - these are display only indicators that change as a result of actions taken. The Invoice Status Flags are defined
above.
M2 Automotive - ABS to Lawson - AP Interface Module
Design Specification 





Page 10
Vendor Number - this field must be in the Vendor table, replicated from the Lawson data base. When accessed, the drop down
arrow is clicked, the Vendor Search window to be displayed. Or, a valid Vendor Number can be entered. When the entry is
changed, the displayed name, address, city, state and zip may change.
Location Code - this field must be in the Vendor Location table, replicated from the Lawson data base. A single location vendor
will have a location code of “0” (zero) in the display (not in the data). Accessing the field causes the drop-down arrow to display,
which when selected causes the Vendor Location drop-down list to display. When changed, the displayed name, address, city, state
and zip may change.
Payment Terms Code - this field is display only, being retrieved from the Vendor Location table. It may change, along with the
Payment Terms Text if/when the Vendor Location Code is changed.
Distribution GL - this is the key to the list of distribution rows associated with the invoice. Each row may contain either a chargeto GL Account number, or a sub-account to which a discount is to be distributed. The associated Distribution Amount is negative if
the row is for a discount, positive for a charge-go GL account. It is the intention of the design at this point that the distribution
structure be generated from the incoming data, adding new rows for the associated discounts that are calculated, if the Vendor’s
payment terms value has a payment terms authorizing a discount.
Distribution % - this is a display only field to aid in cross-checking the automated calculation process with the payment terms, to
determine if the calculated discount is the correct portion of the charge-to Distribution Amount.
Pay Amount - this s a display only field that indicates the amount of the check that will be generated from the invoice’s data. The
balance formula is: Invoice Amount must equal the sum of the Distribution Amounts, and the Invoice Amount must also equal the
Pay Amount plus the negatively valued Discount Amount rows. It repeats the Pay Amount shown in the list for the invoice.
Main Screen Program Notes:

For all changes to any invoice’s data, the program writes a row to the Activity Log table, specifying what field(s) were changed,
which User ID changed them, and the date/time of the activity.

All invoice data updates are reflected both to the data retained in memory, used to drive the display, and data in the SQL data base,
so that the what the user sees on the screen is always an exact match with data physically present in the data base.

All user editable fields are accessible by keys, generally the Alt key plus an underscored letter in the field label. This allows the
user to quickly move around the screen, to shift from the scrollable grid display to the detail window, directly the the field of
interest, without having to use the mouse. The mouse remains completely functional, however.
M2 Automotive - ABS to Lawson - AP Interface Module
Design Specification -
Page 11
Window User Invoice Actions: These, or similar, “soft keys” are planned to enable the user to indicate or take actions without having
to use the mouse and cause various actions to be taken to the data.:
Note: we have altered the definitions of some flags, to “Not…” to allow all values to be Yes when “good to go,” indicated by the color
green, and for No to always be indicated by the color Red on the screen.










F1 - Indicate invoice is matched to hard copy – program checks to verify that all other invoice status flags are ‘Yes/green”
(associated invoice status value is OK) indicating no invalid conditions exist in the data and that the Lawson import process will not
reject the data, then if it is, sets the Matched invoice status flag to yes/green.
F4 – Discount calculations are correct. Sets the Discount invoice status flag to yes/green.
F5 – Delete/Flag this invoice to be deleted, indicating it is a duplicate of another, previously entered and/or processed invoice. This
function causes the program to dim the invoice’s data line and to disallow any field updates to the invoice’s data. Pressing the F5
key again, with the cursor on a “deleted” row, un-deletes it, resetting its status to active. The Lawson Export program will detect
this Deletion flag’s condition and write it to the History tables, but not place it in the exported data tables.
F6 – Sets the Not a Duplicate Suspect flag from No/red to yes/green – this allows the user to indicate that an invoice that the import
program found partially matching data for is in fact, not a duplication of a previously entered/processed invoice.
F8 – Select a Store’s invoice data to retrieve and display. Initiates the Store selection window, clears the main data window, and
repopulates it with data from the selected Store Number.
F9 – Store Batch Audited – pressing this key brings a confirmation dialog box, then if OK’d, writes a row to the Export Queue
table, indicating that the store’s main batch of invoices have been audited, their matched flags set to no/green, and that the person
responsible for running the Lawson Export process can do so for this store’s batch.
Alt + V – moves the cursor from any field in the Invoice row data (within the grid) to the Vendor Number field in the Invoice
Detail window.
Alt + L – moves the cursor from any field in the Invoice row data to the Vendor Location Code field in the Invoice Detail window.
Alt + D – moves the cursor from any field in the Invoice row data to the first row in the Distribution GL sub-grid in the Invoice
Detail window.
Alt + A – moves the cursor from any field in the Invoice row data to the first row in the Distribution sub-grid, positioned in the
Distribution Amount column, in the Invoice Detail window.
M2 Automotive - ABS to Lawson - AP Interface Module
Design Specification -
Page 12
Other invoice status flag resetting actions – these flags are changed when the data condition that caused them is corrected and
include:
Vendor Number – this flag indicates that an invalid vendor number is present in the invoice. When it is corrected in the Invoice Detail
window, the flag is reset to Yes/green.
Distribution – this flag indicates that the distribution was not in balance (flag set to No) with the invoice total amount to be paid,
normally due to a data error in the imported data. When the algebraic sum of the distribution rows, as shown in the Invoice Detail
window for the invoice is in balance with the Invoice Amount (Distribution Amounts sum = Invoice Amount, and Invoice Amount
minus Discount Amounts = Pay Amount), then the Discounts flag is reset to yes/green.
Discounts – this flag is set to No when the data import program encounters a data discrepancy while attempting to calculate payment
discounts. This condition results from any discrepancy encountered by the data import program while it was attempting to calculate the
discount amounts for the invoice. It is reset by accessing the Invoice Detail window for the invoice and correcting the Discount
calculations manually. When the window is exited, the program will reset the Discounts flag to yes/green.
Out of period Invoice Code – this is a single digit code that is normally zero, indicating that the Invoice Date is/was the current
accounting period at the time it was imported or entered. If it is not, the following codes will appear. These codes do NOT prevent the
invoice from being exported for Lawson import. The codes are:
0 = invoice date within current period
1 = invoice date not within current period, determined by Data Import program.
2 – 9 indicate that the invoice was entered in the Module’s screen, i.e., it was not imported from and ABS data source, with the reason
as indicated by the user. These exact code values will be determined later in the project and are stored in the OP_Reason_Code
reference table.
Control Number Range Selection – pressing the Control + F key combination brings a prompt window allowing the user to select a
range of Control Numbers to be flagged as Matched. The window resembles the following:
Matching Range Selection
From Control Number x---------x To x---------x
OK to Flag as Matched?
Yes
M2 Automotive - ABS to Lawson - AP Interface Module
Design Specification -
Page 13
The range must be within the range for the Store selected, i.e., the data is viewable in the window. The window’s Control Number
From and To windows have a drop-down list selection with the control numbers appearing in the window for selection. If an invalid
Control number, by this definition is entered, the program rejects the entry. When the Yes button is clicked, an “Are you sure?” dialog
box appears, allowing for Yes or Cancel options. Cancel returns the user to the main window, while Yes selects all rows shown in the
window for processing and attempts to flag all rows as “no/green”. When processing is completed, including updating the data base as
well as the screen’s data, a message box appears with one of two messages:
“All selected invoices flagged as Matched successfully”
“Invoices with the following control numbers had one or more invoice status flags indicating an error condition, and so could not be set
to Matched, followed by a list of Control Numbers that did not have their Matched flags reset.
New Invoice Entry – the screen also allows entry of a new invoice’s data by using the last row of the grid. All validations described
for the fields above to allow changes also apply to this process, including vendor selections and other steps. The Out of Period Code
field is accessible only for entry of new invoices, and its values are selectable from the OPReasonCode reference table, except that the
values of 1 is reserved for use by the import program. The default is zero, and the user can click and get the drop-down list, showing
all values available in the table, along with the text explanations of each code. Once the row is saved, the value cannot be changed.
M2 Automotive - ABS to Lawson - AP Interface Module
Design Specification -
Page 14
Secondary Windows - these are windows called from within the main window, accessed by selecting from the Maintenance menu.
These windows are described below in terms of the fields they will have, but not the physcial appearance. All are simple windows with
a group of data fields that are entered or changed, then the screen is saved by clicking on a “Save” button.
Module Parameters
This window maintains a single record in a table, which has a single field for each parameter. It is used to set the location on the
Lawson server where transferred files are to be moved to, enter the Authorization Code needed to access both this screen and to run the
Lawson Export process, and to change the current period data. The maintenance window will resemble the following:
Field Notes:

Working File Path - the location on the server where the Scheduled Transfer program is to place the uploaded files.
M2 Automotive - ABS to Lawson - AP Interface Module
Design Specification 




Page 15
Authorization Code – this field is the “password” that must be entered to access both this maintenance window, and to run the
Lawson export process.
Period Number – this field is selectable from a drop-down list consisting of entries in the Period_Reference table. When one of the
rows is selected, the period number, and its dates are stored in the Start and End date fields of the Module Parameters record.
Current Period Dates - these dates establish the values for the current accounting period, used to determine whether an invoice
that is being imported has a date that, at the time of import, fell outside of the current period’s start and end dates. Display only.
Duplicate Suspect Flags – revised (12/2/01) logic. There are two conditions, either one of which will result in setting the setting of
the Duplicate Suspect Flag to Yes. These are:
o Invoice Starts With % – this field contains a decimal value, used as a percentage of the number of characters to be used in
comparing the subject invoice with one or more possible targets, “subject” indicating the invoice that is being imported.
The process consists of counting the number of characters in the subject invoice’s invoice number, multiplying this value by
the Invoice Starts With % value to obtain the portion of the Invoice number that is to be used to attempt to identify one or
more possible “target” invoices. If this process returns one or more invoices with invoice numbers that begin with this
portion of the subject invoice’s invoice number, the Duplicate Suspect Flag is set to ye/red.s.
o Invoice Amount and Invoice Date Matches – this process consists of using the subject invoice’s date and amount values and
attempting to retrieve one or more invoices from the active and history tables. If it results in any resulting data, the
Duplicate Suspect Flag is set to Yes/red.
Global Vendor Update Option – when the screen is saved, if the Duplicate Suspect values have changed, the user is prompted for
the option to reset all Vendors with the new options that may be in the VendorDupSuspectOverride table. Essentially this will clear the table,
since the Vendor DupSuspect Override table contains only rows that have logic that is to override the default values.
M2 Automotive - ABS to Lawson - AP Interface Module
Design Specification -
Page 16
Stores and Store/Vendor Locations
This window maintains the list of stores and the associated Vendor Locations associated with that store. This window resembles the
following:
Work Flow Purpose – this screen is used to establish both valid stores, as defined and used with the Module, and to link the store with
one or more Vendor Locations, so the data import program can correctly identify the Vendor Location to be used, if one is applicable.
The Store Code is provided to allow for use on reports.
Field Notes:
The top portion of the screen updates the Stores table, and defines valid stores and store names (locations) within the Module. The
lower portion of the screen establishes Vendor Locations that are specific to this store. This data is stored in the Store Vendor
Locations table, since the same Vendor location can be used by multiple Stores. Specific field requirements are:
M2 Automotive - ABS to Lawson - AP Interface Module
Design Specification 


Page 17
Store Number – display only, same as the Store ID shown in the upper portion of the screen.
Vendor No – required entry – must be in the Vendors table, clicking on the field brings the Vendor Search window, from which a
Vendor Number selection may be made, or the value may be entered directly.
Location Code – must be in the Vendor Location table, for the previously entered Vendor ID. Click on the field brings a drop-down
list of locations for that vendor, from which a selection may be made, or a value may be entered. The Name and Address data is
display only, retrieved from the Vendor Location table.
Scheduled Transfers
This window maintains the data used by the automated file transfer program. It tell which locations will have files to transfer, where
the files are, their suffixes, and what day in the week the transfer is to be attempted. This window resembles the following:
Work Flow Purpose – this screen is used to setup data transfer from each Store. Multiple transfers from the same store in the same
week can be scheduled if desired. It controls where the data is to be found, and the day of the week you want it transferred.
Field Notes:
M2 Automotive - ABS to Lawson - AP Interface Module
Design Specification 

Page 18
Path - computer name and directory where the target file is to be searched for, using the \\servername\directory1 naming
convention.
ScheduledTransferWDay - weekday (0 = Sunday, 7 = Saturday) that the user wants to have any file generated by the users at the
corresponding store located and transferred to the server.
Vendor Duplicate Suspect Override
This window provides maintenance to a purpose-specific table, the Vendor Duplicate Suspect Override table. This data is separate
from the Vendor and Vendor Location data replicated from Lawson. Its window will resemble the following:
Field Notes –One row is entered for each vendor that is to have Duplicate Suspect determination logic that is different from the default,
or system logic. To remove the override condition for a vendor, the row is deleted. Tthis window has the following field logic:
Vendor ID – must be in the Vendors table
Duplicate Suspect Invoice No. % - this value will override the default (system) value during the Duplicate Suspect process when
processing invoices having the this Vendor ID.
Duplicate Suspect Amount/Date Flag – this is a yes/no flag that overrides the default equivalent.
Modified Date Time – date time stamp when the row was last modified.
User ID – user ID of the person last entering or modifying this row.
M2 Automotive - ABS to Lawson - AP Interface Module
Design Specification -
Page 19
Email Control List Maintenance
This window allows maintenance of the Email Control table’s data. This data drives the Email Engine used to generate and email
reports automatically. The maintenance window resembles the following:
Field Notes:






Report Code (RptCode) - identifies the row in the Report Definitions table that is to be run and emailed to the person
Report Name - display only field showing the report’s menu name from the Reports Definitions row for the selected report.
Name - full name of person associated with the email address.
Store Number - store number associated with the person; may be “000” to indicate an email address that is at a corporate (not at a
store). The entry must be in the Stores table. Store “000” indicates corporate.
Email Address - email address to be used by the Email Engine for this person.
UserID - display only field showing the user ID of the person last updating this row.
M2 Automotive - ABS to Lawson - AP Interface Module
Design Specification 
Page 20
Modified Date Time - display only field showing the last time this row was updated.
Action Menu Windows - the only function in the Action menu with a window is the Lawson Export process. When selected, a
window is displayed resembling the one shown below. The user enters the appropriate Authorization Code, selects the desired Store to
Export from the list by clicking on it, then saves the screen. The program then starts processing the invoices into the Lawson export
tables. The details of the process are described in the Detailed Functional Logic section of this specification.
Field Notes:
Authorization Code – the user must enter the current value of the Authorization Code, as shown in the Module Parameters window to
be able to save this screen and generate export data for Lawson. If the Authorization Code is forgotten, the System Administrator can
reset it via direct data base maintenance.
Store Number – the user clicks on the Store Number(s) for which export files are to be generated. The data shown is from the Export
Queue table, which is populated by entries from the main screen, with users indicating that the Store number they are working on, and
is displayed in the screen, has been audited and is ready for export.
M2 Automotive - ABS to Lawson - AP Interface Module
Design Specification -
Page 21
Drop-down Lists/Windows - these are simple lists of one or two fields that the user selects from when entering data. It is the list of
valid selections for that field. Within the grid listing invoices, we envision drop-down lists for the fields below. The drop-down list
arrow appears when the cursor is moved to that cell/column within the grid;

Store Number - contains store number and name/description of the store.

Invoice Date and Due Date - these cells will display a calendar function as the drop down list.

Invoice Detail window - we envision the need for simple drop down lists for the following fields:

Location Code - once a vendor has been selected, the Drop-down list for the Location Code will display the Code value, name and
address data for that location within the selected vendor, if the vendor has multiple locations.

Distribution GL - this list contains the GL Account and Discount GL Account values from which a selection can be made. Any
given line in the Distribution GL list for an invoice can be either a GL account to which the purchase is to be charged, or a discount
GL sub-account to which a calculated discount is to be charged.

Vendor Search Window - this is a window that provide the ability to search for vendors using the Search Name of the vendor. It
returns a list containing the Vendor No. and Search Name for all those matching the entered text. It is a “contains” search, meaning
that the search program will return all those Vendor records that somewhere in their names have the character string entered. The
returned list is then used to select a Vendor Code/ID in the Invoice Detail window for an invoice.

Vendor Location – this lists the locations for a given vendor. Appears within the Invoice Detail Window.
M2 Automotive - ABS to Lawson - AP Interface Module
Design Specification -
Page 22
Detailed Functional Logic
This section contains detailed specifications for each program and its associated process logic.
Data Transfer - this program reads the Transfer Schedule and
Transfer History table data to identify stores with data to be
transferred to the server for importing into the Reconciliation
Module. There is no screen, other than a form displaying
progress and displaying any error messages. It is started by
selecting an option within the main user window. It performs
the following steps:


Upon selection, retrieves the current accounting period
number, start and end dates, then prompts the user to verify
that this is the correct period, allowing to Cancel or
Continue as options. This process then calls the actual Data
Transfer program.
Determine Store Transfer Schedule via the following steps:
o From the Scheduled Transfers table, selects all rows.
o For each selected Scheduled Transfers row, attempts
to find a matching row in the Transfer History table.
Matching logic determines if a Transfer History row
for the matching store exists that has a week-day
(Scheduled Day) value that falls within the current
week (current week day converted/calculated to
current week day range).
o If the program finds a match between a Scheduled
Transfers row and a Transfer History row, the
Scheduled Transfers row is removed from the list.
o When the cycle is complete, the resulting list is those
Stores for which a transfer is scheduled for the
current day or prior, but that has not been
successfully completed.

For each Store in the Store Transfer Schedule list, performs
the following:
o Using the ODBC connection, attaches the Stores
Server. If connection fails, writes a row in the
TransferHistoryErrors table, with the Action message
of “ODBC connection failed.” The Scheduled
Transfers row being processed is then skipped.
o If the ODBC Connection succeeds, but the program
fails to locate the file to be transferred, using the Path
value in the Scheduled Transfer row being processed,
writes a row in the TransferHistoryErrors table, with
the Action message of ‘File not present in designated
directory.” The Scheduled Transfers row being
processed is then skipped.
o If the file retrieval fails for any other reason, the
program writes a row in the TransferHistoryERrors
table, with the Action message of “other.” The
Scheduled Transfers row being processed is then
skipped.
o The located file on the store’s server, using the
successful connection and location, is then checked
for possible duplication by attempting to retrieve a
row from the TransferHistory table, matching the
located file’s name to the TransferFileName field.
o If a duplicate is identified, the program writes a row
to the TransferHistoryErrors table, with the Action
text of “Duplicate file name.” The Scheduled
Transfers row being processed is then skipped.
M2 Automotive - ABS to Lawson - AP Interface Module
Design Specification o If there is no duplicate, the file is moved/transferred
to the local Server, using the Working File Path
value in the Module Parameters record. Once the
move is successful, the program writes a row in the
TransferHistory table, with the file name transferred
and datetime stamp. This completes the transfer
process. The program continues to the next
Scheduled Transfer row.
Data Importer - this program reads the transferred tables, in
matched pairs of APCINVOICE and APCDISTRIB tables, one
invoice at a time, and copies each invoice’s data into the
Temporary Invoice tables. This is a raw copy to move the data
in its exact form from comma delimited file format into SQL
data tables.
When started, the Data Importer retrieves all Transfer_History
table rows without an ImportDateTime value. These are the
file pairs that have not been imported yet. Each pair of files is
processed in turn. As the file is successfully imported, the
associated ImportDateTime value is updated.
Invoice Validation - this process is called by the Data Importer
program and runs after the Data Importer has completely
transferred one or more files into the Temporary tables. The
objective of this process is to perform as much of the checking
and reconciliation process automatically as possible. Also, it is
an objective to get as many invoices into a completely valid
state as early in the cycle as possible, and with as little human
intervention as possible. Each invoice, and its associated
distribution rows are retrieved from the Temporary tables,
processed and written to the Working tables. The Temporary
table rows are then deleted. All rows are transferred, regardless
Page 23
of validation state, so that at the end of the process, the
Temporary tables are empty.
The steps include:
Vendor Number validation - uses the Vendor Code in the
incoming data to attempt a retrieval of a matching Vendor Code
row in the Vendors table in this Module. If successful, set the
VendorFlag to Yes. If not, sets it to No.
Detection of Duplicate Invoices - this logic matches at two
levels with the process defined below. The settings for the
Suspect Duplicate Flag determining process are obtained by
first selecting the values from the Vendor record for the
invoice, and if none are present, by selecting the settings from
the Module Parameter record.:




Using the just imported row as the Source invoice, attempts
to locate possible Target duplicate rows in the Active and
History Invoice tables.
Not Definite Duplicate - Using the source invoice’s Invoice
Number as a retrieval, selects invoice rows from both the
Active and History Invoice tables. If any rows result, sets
the Not Definite Duplicate Flag to No, and writes the
returned data to the Definite Duplicates table. If no data is
returned, the flag is set to Yes, indicating that there are no
definite duplicate invoices elsewhere in the data base.
Not Duplicate Suspect – This process uses two distinct
tests, either one of which can result in setting the Not
Duplicate Suspect flag to No. Both tests are performed in
any case, to avoid overlooking possible duplicates.
Using the settings for either the vendor or the default
settings, performs both tests.
M2 Automotive - ABS to Lawson - AP Interface Module
Design Specification 


Starts With Test – steps are:
o Calculate the number of characters to use in the
Starts with Search by counting the invoice
number’s number of characters, then multiplying
by the Duplicate Suspect Invoice Number %
value.
o Using the resulting value, attempt selections
using “Starts With” logic for potential target
invoices in both the Active and History tables.
o If data is returned, it is written to the Suspect
Duplicates table, and the NotDuplicate
SuspectFlag is set to No.
Invoice Date and Amount Test – steps are:
o Using the Source invoice’s Invoice Amount and
Invoice Date fields, attempt selections on both
the Active and History tables for invoice rows
having both values that match the Source
invoice’s data. This is an “and” search, in that
both values must be true to get a matching
invoice row.
o If data is returned, is it written to the Suspect
Duplicates table, and the Not Duplicate Suspect
Flag is set to No.
If any of the fields involved in the duplication process are
shown in either the Vendor Dup Suspect Override table row
for the invoice being process, or the Module Parameters
table as being “turned off”, it is not included in the Suspect
Duplicate Flag setting process. The Invoice number % field
is “turned off” by entering a value of zero, indicating that
none of the invoice number is to be used, or 1.00, indicating
that only the complete invoice number is to be used, i.e., the
same as the definite duplicate test.
Page 24
Discount Calculation - the program retrieves the payment terms
for the vendor shown in the invoice from the Vendor table, or
there is a Location Code, from the Vendor Location table. If the
payment terms does have a discount percentage, the distribution
rows are modified so that there are additional distribution
entries (rows) for each associated charge-to GL number, with a
negative value being calculated using the payment term’s
discount percent value. The process also inserts a Due Date
value, using the payment terms data.
If this process is performed, successfully, the Discount Flag is
set to Yes. If any error condition is encountered, it is set to No.
Distribution Validation - checks the total Distribution Amounts
for the invoices distribution rows to be sure that the algebraic
sum of the distribution and pay amount equals the invoice
amount. If it does, the Distribution Flag is set to Yes. If not, it
is set to No. The complete calculation verification is as
follows:
Invoice Amount = the sum of non-discount GL distribution
rows, i.e., positive values.
Pay Amount = Invoice Amount plus the sum of all discount GL
distribution rows, i.e., the negative values.
All invoice and distribution rows are written to the Working
tables as each set is processed. The program then deletes the
Temporary table rows just processed, and restarts the process
by reading the next invoice row and its associated distribution
rows, until the Temporary tables are empty.
M2 Automotive - ABS to Lawson - AP Interface Module
Design Specification Out of Period Identification - the program retrieves the
currently valid accounting period’s start and end dates from
the Module Parameters table. Each invoice’s Invoice Date is
compared to this date range, and if it does not fall within this
date range, the Out of Period Reason Code is set to 1.
Otherwise, it is set at 0 (zero).
Lawson Export Process – after the menu selected window has
been displayed, the Store to be process entered or selected, and
the Authorization Code entered, the program then performs the
following steps:
 Selects Invoice rows from the Active_Invoices table having
the selected Store Number, and that also have Yes (true)
values for all Invoice status Flags.
 Copies each Invoice’s data, and its associated
Active_Invoice_Distribution rows, identified by the RowID
for the selected invoices in the distribution rows, into the
Export tables and History tables, one invoice at a time.
 Invoice rows where the Active Invoice data has the Deleted
flag set to Yes (true), are copied to the History tables, but
not to the Lawson export tables.
 After each invoice’s data is copied successfully, and the
rows written to the data base, the source data rows are
deleted from the Active Invoices tables, and the Number
Invoices counter is incremented.
 As is stated in the table dictionaries in Appendix 1, the
fields are matched field name for field name, so there is no
cross reference table here. Any table’s field in the Active
Invoices or Distribution tables without a corresponding
field in the History or Export table formats is not copied
into the respective table. Generally, this means that the
entire Active record is copied into the History table, but
Page 25



only the fields without “-IN” in their field names are copied
to the Lawson Export tables.
The process continues until all selected invoices rows have
been successfully processed, at which time the Lawson
Export Log record for the run is written to the table.
The Export Log table row, from which the selection was
initially taken is deleted.
A process window is displayed while the program is
running, showing the store number, the number of invoices
selected, and number completed.
Email Generation - this process reads the Email Control table
and performs the following steps:




Determines the weekday.
Selects all email control rows with the scheduled weekday
earlier than or equal to the current weekday.
Eliminates those email control rows that have a matching
entry in the email history table, indicating that the
scheduled event has already been completed. This leaves a
list of emails to be generated.
For each resulting Scheduled Email, performs the
following:
o Using the indicated RptCode, retrieves and runs the
identified Crystal Report, automatically exporting it
as a Microsoft Word document.
o If the .rpt file is unavailable, generates an Email
Action Table entry with an action message “Report
file unavailable.”
o Generates an email, using the email engine, to the
designated address, with the just generated, exported
report file as an attachment.
M2 Automotive - ABS to Lawson - AP Interface Module
Design Specification o If an error condition is encountered during the
process, an Email Action table entry is generated
with an appropriate error message. Otherwise, the
Email Action table row generated indicates
successful completion of the report and email.
Background/Other Processes
Vendor Data Replication -
Page 26
Report Development Component, not the desktop Crystal
Reports Development environment, to generate and otherwise
process reports.
All inquiry/data viewing will be provided via Crystal Reports
created views. At this point, we envision the following reports:


This process attaches the Lawson data base, clears the data
from the Vendor and Vendor Location tables in this Module,
and re-copies the tables completely from the Lawson source
data, eliminating any possibility of the data becoming “our of
synch.” This is a background, scheduled process initiated
periodically as a scheduled SQL Job on the server. There is no
direct user interface.
Payment Terms Replication 
This process attaches the Lawson data base, completely
replacing the Payment Terms table with the latest Lawson data.
It serves only as a way to display Payment Terms Text that is
associated with the Payment Terms Codes present in the
Vendor Location and Invoice data. This is a background,
scheduled process initiated periodically as a scheduled SQL Job
on the server. There is no direct user interface
Reports Menu The reports menu will be driven from a Report Definition table,
so Crystal Reports can be added without modifying the
program. The Reports program uses the Crystal Decisions


Active Invoices –Selected by Store, sorted by Vendor ID
Exception Reports - a family of reports including examples
such as the following:
o Invalid vendor ID
o Unknown Vendor Location Code
o Invoices not matched to hard copy
o Duplicate suspects
o Duplicate - definite
o Distribution out of balance
o Discount calculation error
o Out of period invoices.
o Others to be defined
Transferred Invoices - exported to Lawson lists by various
sort, selection criteria
Activity Log - change activity for a range of invoices,
various sort, selection criteria.
Store Specific Errors - various including not entered by
store, duplicate entries, entry errors.
M2 Automotive - ABS to Lawson - AP Interface Module
Design Specification -
Page 27
Appendix 1 - Data Base Design Specifications

Reference Tables - these tables contain relatively static data used to manage
the flow of invoice data through the Module.
StoreVendorLocns – this table relates a given store number to a single
Vendor Location, and allows the same vendor location to be automatically
determined for any number of stores. It is maintained via a user window.
Its fields are:
Module_Parameters table - this table contains one record, with fields for
each parameter used to manage, setup and control various aspects of the
programs and their functioning. Fields include:








Row_ID - integer, unique identifier, sequential
WorkingFilePath - 50 char field - location on the local server to which
files are transferred for importing into the Working tables, using the
\\servername\directory convention.
AuthorizationCode – a password like value used as a simple system
security code. Control access to the Module Parameters window itself,
and is required for a user to run the Lawson Export process.
PeriodNumber – number of the currently open accounting period.
Selectable from the PeriodDate reference table.
Current Period Start Date - used to determine whether invoice dates
are out of the current period when the import process is run. Populated
from the PeriodDate reference table when the period isselected by the
user.
Current Period End Date used to determine whether invoice dates are
out of the current period when the import process is run. Populated
from the PeriodDate reference table when the period is selected by the
user.
InvoiceNumber% - this is a 2 decimal value, used as a percentage, in
determining which portion of an invoice’s invoice number is to be used
in attempting to locating possible matching invoices.
InvoiceDateAmount – a yes/no flag indicating whether to use the
combined invoice date and amount fields as a method of identifying
potential (suspected) duplicate invoices.
Stores - this table contains one row for each store in M2’s network.




RowID - integer - incremental, unique identifier for the row.
StoreID - 6 character field - store number
StoreName - 50 char text string identifying the store’s location/name.
Store_Code - 2 character code identifying store






DateTimeModified - date time field.
RowID – unique, sequential identifier.
StoreNo – store number – must be in Stores table.
Vendor No. – vendor ID code, must be in the Vendors table.
Location – location Code, must be in the Vendor Location table, with a
matching associated Vendor No.
ModDateTime – date time stamp when updated.
UserID – User ID of person last updating the table.
Vendors tables - these tables are a replication of the vendor data tables
within the Lawson system’s data base. The replication process detects when
vendor data in the Lawson data base has been added or changed, updating
the data in these tables. There are two tables in the vendor data, a root, or
main table, and separate table for each vendor’s locations. Each location
can have a separate address and payment terms for invoices, as with the
Lawson data structure.
Vendors - this table contains one row for each “root” vendor ID in the
Lawson data base. Its fields are the same field names as in the
APVENMAST table in Lawson, from which this data is copied. All fields
copied from Lawson are text type.










VENDOR - vendor ID in Lawson; unique, non-duplicated number; also
serves as the row ID in this table.
VENDOR_VNAME (“Legal name” on screen)
VENDOR_SNAME (“Search name” on screen)
VENDOR_CONTCT
ADDR1 - this address serves as the vendor’s “main” address.
ADDR2
CITY_ADDR5
STATE_PROV
POSTAL_CODE
CREATE_DATE - from Lawson
M2 Automotive - ABS to Lawson - AP Interface Module
Design Specification 



ORIGIN_DATE - from Lawson
TERM_CODE
TAX_ID
DateTime_Modified - date time stamp for when row last updated by the
data copy/import process.
VendorDupSuspectOverride – this table contains a row for each vendor
that is has fields to override the Duplicate Suspect logic, used in the Data
Import process. It is a separate table to allow the Vendor and Vendor
Location tables to be completely rebuilt without losing these data fields, and
to provide a much smaller, dedicated purpose table. It is maintained via a
user window. Its fields are:




RowID – sequential, unique identifier for the row.
VendorID – must be in the Vendors table
InvoiceNumber% - this is a 2 decimal value, used as a percentage, in
determining which portion of an invoice’s invoice number is to be used
in attempting to locating possible matching invoices.
InvoiceDateAmount – a yes/no flag indicating whether to use the
combined invoice date and amount fields as a method of identifying
potential (suspected) duplicate invoices.
Vendor_Locations - this table contains one row for each location for each
vendor in the Vendors table. Only the second and subsequent addresses for
a vendor are stored in this table. The main vendor address is in the
VENDOR record. All data is copied except for the Store Number field. All
fields are Text type, except DateTimeModified. The tables fields include:








VENDOR - vendor ID in Lawson and in Vendors table.
LOCATION_CODE - Location code in Lawson; combines with
VENDOR to create a unique key for the row.
VENDOR_VNAME (“legal name” on screen) ADDR1
ADDR2
CITY_ADDR5
STATE_PROV
POSTAL_CODE
TERM_CODE - if present, overrides TERMS_CODE in VENDORS
row; blank if no override.
Page 28

DateTimeModified - date time stamp for when row was last updated by
the copy/import process.
Payment Terms - this table is replicated from Lawson data so the discount
calculation process will have the data it needs to run (discount date intervals
and percentage values), and the text equivalent for the code can be
displayed. The fields are the same names as in the TERMS table in Lawson,
from which the data is copied. All fields are text type except as noted. The
table is completely rebuilt each time the import/copy process is run. Only
the fields with data that will be used within the Module is copied. The key
design and operating assumption with this data is that all discounts possible
will be calculated, regardless of the invoice date.
TERMS_CD - unique identifier for the payment terms.
RDESC _-01 - payment terms descriptive text
DISC_PCT_01 - discount percentage, stored as a 1 decimal number, e.g.,
“0.02” for a 2% discount.
DISCOUNT_DAY_01 - number of days to be eligible for a discount,
calculated from the Invoice Date, stored as a number, e.g., “30” for 30 days.
GL_Reference - this table contains one row for each GL number used
within the Module. No user window is provided. It is a manually
maintained subset of the full Chart of Accounts used by the company,
containing only those GL accounts for distribution, and forms a template for
how discounts for each distribution are to be generated. Fields include:






RowID - unique, sequential identifier
GLAccount - account number in the General Ledger system’s Chart of
Account.
AccountDescription - text description of the GL account number.
DiscountGL - GL account number to be used for discount amounts
charged to the GLAccount number. Includes sub-account portion of
the GL number, e.g., 5010-1 for a distribution to the 5010 GL account
number on an invoice where the vendor’s payment terms involves a
calculated discount.
DiscountGLDescription - text description of the subaccount for
discounts.
DateTimeModified - date time stamp of when the row was last updated.
M2 Automotive - ABS to Lawson - AP Interface Module
Design Specification OP_Reason_Codes (out of period reason codes) – this small reference
table, maintained by System Administrator (no user window) allows nonhard coded reason codes, changeable text equivalents, and ability to add
new codes without altering program code. Its field are:


OP_Reason_Code – single character value, unique, no duplicates,
stored in data and used in display and prompts.
Code_Description – text explanation for the associated code.
Report_Definitions - This table is only maintained by a developer. There is
no user-accessible menu. It stores the menu/display name for each Crystal
Report used within the Module, and associates it with the actual .rpt file
name. The data in the table is used to generate the Report menu within the
Module’s main window. Its fields are:






RowID - unique, sequential, SQL assigned identifier
RptCode - developer assigned code for the specific report; 5 characters.
MenuName - short text string for display in the Report Menu.
CRFILName - actual Crystal Reports file name.
Comments - documentation notes by developer.
ModifiedDate - date time the row was last modified; SQL generated.
Email_Control - this table provides the data for the Module’s email engine
and links specific RptCodes in the Report Definitions table to specific email
addresses.







RowID - unique row identifier, SQL assigned
RptCode - report code from the Report Definitions table that is to be
run and emailed to the person in this record. Must be in the Report
Definitions table
Name - text name of the person to whom the report is to be sent
StoreNo - store number of person to whom the email is addressed.
“000” indicates that the addressee is a corporate (non-store)
addressee.
EmailAddress - actual email address to which the report is to be
addressed.
UserID - login user Id of the person last updating this row.
ModDateTime - date time stamp when the row was last updated.
Page 29
EmailActionLog - this file contains one row for each action taken by the
EmailEngine within the Module. It identifies the report, addressee and
datetime stamp for each report generated and emailed. Fields include:







RowID - unique, incremental SQL Assigned integer
RptCode - Report Code identifying the report that was run.
Name - name from the Email
ScheduledEmailWDay - weekday (0 = Sunday, 7 = Saturday) that the
associated report is to be run and emailed to the designated user.
EmailAddress - actual email address used
EmailDateTime - date time stamp the report was generated and
emailed.
Action - text string indicating action taken by the Email Engine. Valid
entries are: “Sent”, “No Rpt Code”, “Rpt Not Available”.
ABS Data File Transfer Management - these files control the process of
identifying where ABS data export files are located, and when each is to be
transferred to the reconciliation data base’s directories for processing.
Scheduled_Transfers table - this table contains one record for each store
and scheduled transfer weekday combination. Each scheduled transfer is
matched with a successful transfer from that store and appears in the
corresponding Transfer_History table to fulfill the scheduled event. The
table is designed so that if multiple scheduled transfers within one week are
desired, the user simply adds an additional row. The software must check
for duplicate Stores and Scheduled Transfer Week Day.
The File Transfer Scheduler program attempts to locate files to transfer for
each location each time it is run, if the day of the week is earlier or equal to
the run day. The process automatically transfers the files exported from
ABS and placed in the designated directory on the server from which the
files are to be transferred. The Configuration table includes a parameter
record informing the program where the files are to be transferred, so the
data import program will locate them correctly for processing.
The fields in this table include:


RowID - incremental row assigned by SQL, unique.
StoreID - store identifier code or number; must be in the Stores table.
M2 Automotive - ABS to Lawson - AP Interface Module
Design Specification 




FileName - expected pattern of file name to be transferred (may not be
needed)
Path - computer name and directory where the target file is to be
searched for, using the \\servername\directory1 naming convention.
ScheduledTransferWDay - weekday (0 = Sunday, 7 = Saturday) that
the user wants to have any file generated by the users at the
corresponding store located and transferred to the server.
DateTimeModified - date time stamp when row was last updated.
UserID - Win NT domain login ID of person last updating the row.
Transfer_History table- this table corresponds to the scheduled transfers
table, except that it contains one row for each successful transfer. A file of
the same name may not be transferred more than one by the transfer
program.







RowID - incremental row ID assigned by SQL, unique
StoreID - Store ID
ScheduledTransferWDay - weekday (0 = Sunday, 7 = Saturday); shows
the scheduled transfer day that was fulfilled by the successful transfer
process. When matched with the corresponding Scheduled Transfers
row, calculated for the week being processed, this indicates to the
program that the scheduled file transfer for that store has occurred
successfully. If there is no match, the transfer is attempted.
TransferFileNameInvoices - actual file name of the file transferred
TransferFileNameDistribution - actual file name of the matching file
transferred.
TransferDateTime - date time stamp when the file was transferred
ImportDateTime - date time stamp for when this row’s pair of files was
successfully processed/imported into the Working tables.
TransferHistoryErrors - this table contains one row for each attempt the
Scheduled Transfers program makes to connect to a store’s server for file
transfer, but the transfer fails. Fields are:





RowID - sequential, unique identifier
StoreID - store ID for the scheduled transfer
Wday - scheduled transfer week day that was attempted
DateTime - date time stamp of when the attempt was made
Action - Text string indicating reason for the failure - values are:
Page 30
o
o
o
o
ODBC connection failed
File Not Present in designated directory
Other
Duplicate File name
Period_Reference – this table contains one row for each accounting period.
It is maintained only through Enterprise Manager, having no user accessible
update window. It serves solely to provide reliable data for user selection
and display of accounting period numbers and the associated period start and
end dates. Its fields are:




Row-ID – sequential, unique identifier
PeriodNo – period number, 2 digit number indicating the period
PeriodStartDate – date, indicating the first working/calendar date for the
period.
PeriodEndDate – date, indicating the last working/calendar date for the
period.
Lawson_Export_Log – this table contains one row for each time the
Lawson Export program is run. It summarizes each run of the program, and
provides a link back to specific invoices that are present in the History
tables. Its fields are:
RunNumber - sequential, unique identifier, incremented by each run
StartDateTime – date time stamp of when the run was started.
EndDateTime – date time stamp of when the run was completed.
NumberInvoices – integer, the number of invoices written to the History
tables.
UserID- person performing the export process for this run.
Export_Queue – this table is written to by user action within the main
window. It indicates which Store numbers have had the bulk of a given
batch of invoices audited, flagged as matched within the window, and are
therefore eligible for export to Lawson. The rows are used to prompt for
selection for stores to be processed for export by the Lawson Export process,
and are deleted from the table after the export process has run successfully,
generating a row in the Lawson_Export_Log table.

RowID – sequential, unique, sequential row identifier
M2 Automotive - ABS to Lawson - AP Interface Module
Design Specification 


StoreNo – store number ready for export processing
UserID – Windows NT Domain login user ID of person indicating that
this Store is ready for export processing.
DateTime – date time stamp when the row is written
Temporary Tables - these tables are temporary tables populated by the
initial data import from external tables. Once each file is imported, the
second step of validation and error checking is performed, which transfers
the data from the temporary table to the Working Tables, one invoice with
its associated distribution data, at a time.
The field names are the same as the source and export files, as well as some
of the fields in the Working tables.
Temp_Invoice (from APCINVOICES table) - the .APT suffixed files are
copied directly into this temporary table:










RowID - unique, sequential row identifier assigned by SQL.
CVI-COMPANY - (numeric, 4; ABS = CORP_ID) - constant 2000 for
all records (Field 1)
CVI-VENDOR - (alpha-numeric, 9) - Vendor Code (field 2)
CVI-INVOICE - (alpha, 22) - invoice number (field 4
CVI-VOUCHER-NBR - (alpha-numeric, 10, ABS=RO#XXXX) contains the RO number from ABS, as “RO#9999” format (field 7)
$CVI-PROC-LEVEL - (alpha, 3, ABS=REG_APPROCESSED) (field
9)
CVI-INVOICE-TYPE - (alpha, 1, blank for invoice, C for credit memo)
(field 11)
CVI-INVOICE-DTE - (numeric, 8, ABS=INVOICE_DATE) - Invoice
Date as shown in data imported from ABS. Data in the import file is in
yyyymmdd format. Convert to SQL date format during import. (field
14)
CVI-DESCRIPTION - (alpha, 30, also carries the RO number as
“RO#9999.” (field 20)
CVI--BASE-INV-AMT - (numeric 15. 2 decimals; sum all for this
invoice; if invoice type = C, credit memo, the negative value in ABS is
converted to a positive value for Lawson). - This is the Invoice Total
Amount. (field 21)
Page 31

CVI-TRAN-INV-AMT - (numeric, 15, 2 decimals; same as CVIBASE-INV-AMT) (field 22).
Temp_Distribution (APCDISTRIB) table - the .APD suffixed files are
copied directly into this temporary table:










RowID - unique, sequential identifier, assigned by SQL.
CVD-COMPANY (numeric, 4, ABS=CORP_ID) (field 1)
CVD-VENDOR (alpha numeric, 9, ABS=AP_NO) (field 2)
CVD-INVOICE - alpha, 22, ABS=INVOICE_NUMBER) (field 4)
CVD-DIST-SWQ-NBR (numeric, 4) (field 6)
CVD-ORIG-TRAN-AMT- (numeric, 15, 2 decimals; $ Amount of
distribution; value must be positive, credit memo Inv-Types are
converted to positive values for Lawson. Null if the invoice was
entered directly. (field 7)
CVD-DIS-ACCT-UNIT (alpha, 15) - (field 11)
CVD-DIS-ACCOUNT - (numeric, 4) - GL account of distribution
amount, (field 12)
CVD-DIS-SUB-ACCT - (numeric 4) (field 13)
CVD-DESCRIPTION - (alpha, 30) (field 15)
Working Tables - these tables are where all invoices are processed. They
are, in effect, interposed between the Lawson formatted tables generated by
the ABS store systems, and the similarly formatted tables generated from
these data, only with 100% “clean” data, ready for smooth import into
Lawson’s AP module. Source tables are the APCINVOICES and
APCDISTRIB files from each store. These are imported as is, with
potentially changeable data fields being written permanently into fields with
a “-IN” suffix, the same data values written to the same field name without
the suffix.
The editing, validating and reconciliation process updates only the non-‘in’
fields, preserving a clear audit trail back to the source tables without having
to view them directly. As changes are made to the tables data, the Audit
History table is updated to provide an audit trail of what was changed and
when.
M2 Automotive - ABS to Lawson - AP Interface Module
Design Specification If an invoice is entered directly into the edit screen of the Module, i.e., was
not present in an imported invoice file’s data, the “-IN” field is left
null/blank.
Page 32


Any invoice that is to be deleted, is not physically removed from the table,
but simply has a Deleted flag set, and the data is transferred to the History
tables.
Each invoice has a set of flags that indicate its status. When all of the status
flags are set to Yes, the invoice will have its data copied to the next Lawson
export file created, and then transferred to the Invoice History tables,
removed from the Active Invoice tables. The flags provide a clear,
unambiguous way of identifying exactly what is not acceptable about each
invoice, and provides a clear basis for each exception report and for metrics.
Active_Invoices (from APCINVOICES table) - this table contains all
invoice “header” information, i.e., that occurs once per invoice. The rows
are those invoices that have been imported from the ABS export/interface
tables, but that have not yet been exported to the files for import to Lawson.
Once exported to Lawson, the data is transferred to the History_Invoices
tables.
Associated with each row are a set of binary (yes/no) data fields (“flags”)
that indicate the status of each invoice. When all status fields are “yes” the
invoice is a candidate for exporting from the Module and importing into
Lawson without errors. The status fields indicate unperformed steps or data
error conditions. Some flags are set by the user, with most being under
control of a program/process that determines what the condition should be.
The tables fields include:




RowID - unique, sequential row identifier, also known as the “control
number.”
CVI-COMPANY - (numeric, 4; ABS = CORP_ID) - constant for all
records
CVI_VENDOR-IN - (alpha-numeric, 9, ABS=AP_NO) - Vendor
Code/ID in data imported from ABS.
CVI-VENDOR - (alpha-numeric, 9) - Vendor Code, validated as being
the correct Vendor Code in Lawson















CVI-INVOICE-IN - (alpha, 22, ABS=INVOICE#) - invoice number as
entered in ABS, and in original import data. Null if the invoice was
entered directly.
CVI-INVOICE - (alpha, 22) - invoice number for export to Lawson;
default is the same as invoice-in value; allows for change during
reconciliation process.
CVI-VOUCHER-NBR - (alpha-numeric, 10, ABS=RO#XXXX) contains the RO number from ABS, plus unknown 4 characters Invoice Date
$CVI-AUTH_CODE - (alpha, 3, ABS=REG_ID) - not used, may need
to be stuffed with constant value.
$CVI-PROC-LEVEL - (alpha, 3, ABS=REG_APPROCESSED) CVI-INVOICE-TYPE - (alpha, 1, blank for invoice, C for credit memo)
CVI-INVOICE-DTE-IN - (numeric, 8, ABS=INVOICE_DATE) Invoice Date as shown in data imported from ABS. Null if the invoice
was entered directly.
CVI-INVOICE-DTE - (numeric 8) - invoice date for export to Lawson,
default is the same as the invoice date-in.
CVI-DESCRIPTION - (alpha, 30, ABS=RO#XXXX)
CVI--BASE-INV-AMT-IN - (numeric 15. 2 decimals; sum all for this
invoice; if invoice type = C, credit memo, the negative value in ABS is
converted to a positive value for Lawson). - This is the Invoice Total
Amount. Null if the invoice was entered directly.
CVI-BASE-INV-AMT - (numeric 15, 2 decimals) amount exported to
Lawson
CVI-TRAN-INV-AMT - (numeric, 15, 2 decimals; same as CVIBASE-INV-AMT)
CVI-REC-STATUS - (numeric, 1) - redundant field; pass-through from
ABS.
CVI-CVI-POSTING-STATUS - pass-through from ABS export file to
Module export to Lawson.
StoreID - M2 Store number; must be a StoreID in the
Scheduled_Transfers table.
VendorLocCode - Lawson Vendor Location ID, updated from lookup in
vendor and vendor location tables. Not updated, and Vendor Match
Flag set to no if multiple Locations with same name are encountered,
i.e., lookup is unsuccessful.
PaymentTermsCode - payment terms code at the time the invoice was
imported, from the Vendor Location table for the vendor.
M2 Automotive - ABS to Lawson - AP Interface Module
Design Specification 









DueDate - date on/by which the invoice is to be paid.
ImportDateTime - date time stamp indicating when this invoice was
imported from the ABS interface table.
ImportFileName - file name of the invoice header file (not the
distribution detail file) from which this invoice was imported.
NotDefiniteDuplicateFlag - if No, indicates that the invoice is
considered to be a duplication of a previously imported or manually
entered invoice. Must have the same Vendor Code, Invoice Number,
and Invoice Date to be a “definite duplicate.” Yes indicates that the
invoice is not a definite duplicate of another.
NotSuspectDuplicateFlag - if No, indicates that the invoice may be a
duplication of a previously imported or manually entered invoice. Must
have the same Vendor Code and Invoice number as another invoice, but
different invoice dates. Yes indicates that the invoice is not a suspected
duplicate of another.
MatchedFlag - Yes indicates that either a person has physically,
visually matched the invoice hard copy received from the vendor with
data on a screen, or that a programmatic condition substituting for this
matching process has been performed with a successful outcome. No
indicates that this matching has not been done.
DistributedFlag - Yes indicates that this invoice’s distribution detail is
correct
DiscountOKFlag - Yes indicates that this invoice’s discounts have been
calculated and are correct. Set to Yes if the payment terms do not
authorize a discount. No indicates that the automatic distribution
calculation process run during import failed for any reason.
VendorOKFlag - Yes indicates that the vendor ID value for this invoice
is correct. No indicates that the vendor lookup during data import
failed.
OutPeriodCode – this is a single character code indicating either that the
invoice’s date was within the current accounting period, or depending
on the value of the code, was not. Regardless of the value, it does not
prevent exporting the invoice to Lawson. Its value is set either by the
data import program, or by the screen entry. The values are:
o 0 = date within current period.
o 1 = data import program determined that the date was not
within the current period.
o 2-9 – other values to be determined, selectable
Page 33



Deleted - normally 0, if 1 indicates that the Invoice is to be deleted and
not exported to Lawson. Deleted invoices only are transferred to the
History tables.
UserID – windows NT domain user ID of person performing the last
update action for the invoice row.
DateTimeModified - date time stamp for the last time this invoice was
updated.
Active_Invoice_Distribution (APCDISTRIB) table - this table contains
one row for each GL distribution (detail line) to which the invoice amount is
to be charged. It is initially populated by the import process. Some
distribution rows in a set belonging to a single invoice will carry GL
numbers for discount amounts, which may be negative values. In these
cases, the GL number will indicate a sub-account. The rows are linked to a
single row in the Active_Invoices table by the ActiveInvoicesID field .
Fields include:











RowID - unique, sequential identifier
ActiveInvoicesID - row id for the invoice to which this distribution row
is linked.
GL Number - Distribution GL Account number
CVD-COMPANY (numeric, 4, ABS=CORP_ID)
CVD-VENDOR (alpha numeric, 9, ABS=AP_NO)
CVD-INVOICE - alpha, 22, ABS=INVOICE_NUMBER)
CVD-ORIG-TRAN-AMT-IN (numeric, 15, 2 decimals; $ Amount of
distribution; value must be positive, credit memo Inv-Types are
converted to positive values for Lawson. Null if the invoice was
entered directly.
CVD-ORIG-TRAN-AMT (numeric, 15, 2 decimals) - amount exported
to Lawson; associated with the CVD-DIS-ACCT-UNIT and CVD-DISACCOUNT
CVD-DIS-ACCT-UNIT-IN (alpha, 15 ABS=SHOP_NO) - value
imported with data from ABS. Null if the invoice was entered directly.
CVD-DIS-ACCT-UNIT (alpha, 15) - value for export to Lawson
CVD-DIS-ACCOUNT-IN (numeric 6, strip off Sales ID, use only first
4 digits) - GL account number of distribution amount Null if the
invoice was entered directly.
M2 Automotive - ABS to Lawson - AP Interface Module
Design Specification 

CVD-DIS-ACCOUNT - (numeric, 4) - GL account of distribution
amount, or GL number of discount amount’s GL account to be used in
the export to Lawson.
DateTimeModified - date time stamp for the last time this
detail/distribution row was updated.
DefiniteDuplicates – this table contains the search results of the definite
duplication testing performed in the data import and validation process. It is
stored so that the results of the search can be retrieved on screen and via
Crystal Reports, without having to replicate the selection process, which
may take an unacceptable amount of time/delay. One row is written for
each Target Invoice returned by the search process, so a single Source
Invoice may result in multiple Target invoices being returned. The fields
are:






RowID – unique, sequential identifier
SourceInvoiceNo – Number of the source invoice, used to locate others.
TargetTable – either A, indicating the invoice number was found in the
Active table, or H, indicating it was found in the History table.
ControlNo – control number of the Target Invoice, which physically
may be in either the Active or History tables.
StoreNo – store number where the invoice originated.
ImportDateTime – date time stamp when the import process was run,
i.e, when this source invoice’s duplicates were identified.
SuspectDuplicates – this table contains the search results of the suspect
duplication testing performed in the data import and validation process. It is
stored so that the results of the search can be retrieved on screen and via
Crystal Reports, without having to replicate the selection process, which
may take an unacceptable amount of time/delay. One row is written for
each Target Invoice returned by the search process, so a single Source
Invoice may result in multiple Target invoices being returned. The fields
are:



RowID – unique, sequential identifier
SourceInvoiceNo – Number of the source invoice, used to locate others.
TargetTable – either A, indicating the invoice number was found in the
Active table, or H, indicating it was found in the History table.
Page 34



ControlNo – control number of the Target Invoice, which physically
may be in either the Active or History tables.
TargetInvoiceNo – invoice number as carried in the target invoice’s row
data; may be not an exact match, due to the Start With search logic.
ImportDateTime – date time stamp when the import process was run,
i.e, when this source invoice’s duplicates were identified.
History Tables - these tables are read-only, and store invoice data that has
been successfully processed and exported to Lawson. It is used for
reference purposes, since it contains both data values present in the
originally imported data and the final values exported to Lawson. It is also
used to detect potential duplicate invoices.
History_Invoices (from APCINVOICES table) - this table contains all
invoice “header” information, i.e., that occurs once per invoice. The rows
are those invoices that have been imported from the ABS export/interface
tables, but that have not yet been exported to the files for import to Lawson.
Once exported to Lawson, the data is transferred to the History_Invoices
tables.
Associated with each row are a set of binary (yes/no) data fields (“flags”)
that indicate the status of each invoice. When all status fields are “yes” the
invoice is a candidate for exporting from the Module and importing into
Lawson without errors. The status fields indicate unperformed steps or data
error conditions. Some flags are set by the user, with most being under
control of a program/process that determines what the condition should be.
The tables fields include:





RowID - unique, sequential row identifier, also known as the “control
number.”
CVI-COMPANY - (numeric, 4; ABS = CORP_ID) - constant for all
records
CVI_VENDOR-IN - (alpha-numeric, 9, ABS=AP_NO) - Vendor
Code/ID in data imported from ABS.
CVI-VENDOR - (alpha-numeric, 9) - Vendor Code, validated as being
the correct Vendor Code in Lawson
CVI-INVOICE-IN - (alpha, 22, ABS=INVOICE#) - invoice number as
entered in ABS, and in original import data.
M2 Automotive - ABS to Lawson - AP Interface Module
Design Specification 

















CVI-INVOICE - (alpha, 22) - invoice number for export to Lawson;
default is the same as invoice-in value; allows for change during
reconciliation process.
CVI-VOUCHER-NBR - (alpha-numeric, 10, ABS=RO#XXXX) contains the RO number from ABS, plus unknown 4 characters Invoice Date
$CVI-AUTH_CODE - (alpha, 3, ABS=REG_ID) - not used, may need
to be stuffed with constant value.
$CVI-PROC-LEVEL - (alpha, 3, ABS=REG_APPROCESSED) CVI-INVOICE-TYPE - (alpha, 1, blank for invoice, C for credit memo)
CVI-INVOICE-DTE-IN - (numeric, 8, ABS=INVOICE_DATE) Invoice Date as shown in data imported from ABS.
CVI-INVOICE-DTE - (numeric 8) - invoice date for export to Lawson,
default is the same as the invoice date-in.
CVI-DESCRIPTION - (alpha, 30, ABS=RO#XXXX)
CVI--BASE-INV-AMT-IN - (numeric 15. 2 decimals; sum all for this
invoice; if invoice type = C, credit memo, the negative value in ABS is
converted to a positive value for Lawson). - This is the Invoice Total
Amount.
CVI-BASE-INV-AMT - (numeric 15, 2 decimals) amount exported to
Lawson
CVI-TRAN-INV-AMT - (numeric, 15, 2 decimals; same as CVIBASE-INV-AMT)
CVI-REC-STATUS - (numeric, 1) - redundant field; pass-through from
ABS.
CVI-CVI-POSTING-STATUS - pass-through from ABS export file to
Module export to Lawson.
StoreID - M2 Store number; must be a StoreID in the
Scheduled_Transfers table.
VendorLocCode - Lawson Vendor Location ID, updated from lookup in
vendor and vendor location tables. Not updated, and Vendor Match
Flag set to no if multiple Locations with same name are encountered,
i.e., lookup is unsuccessful.
PaymentTermsCode - payment terms code at the time the invoice was
imported, from the Vendor Location table for the vendor.
DueDate - date on/by which the invoice is to be paid.
ImportDateTime - date time stamp indicating when this invoice was
imported from the ABS interface table.
Page 35






ImportFileName - file name of the invoice header file (not the
distribution detail file) from which this invoice was imported.
OutPeriodCode – this is a single character code indicating either that the
invoice’s date was within the current accounting period, or depending
on the value of the code, was not. The values are:
o 0 = date within current period.
o 1 = data import program determined that the date was not
within the current period.
o 2-9 – other values to be determined, selectable
Deleted - normally 0, if 1 indicates that the Invoice was deleted and not
exported to Lawson. Deleted invoices only are transferred to the
History tables.
DateTimeWritten - date time stamp for when this invoice was
transferred to the history tables.
LawsonExportRunNo – run number field from the Lawson Export Log
table row generated for the batch of invoices transferred from the
Active tables to the History tables.
ControlNumber –control number assigned to the invoice when imported
into the Active Invoices table.
History_Invoice_Distribution (APCDISTRIB) table - this table contains
one row for each GL distribution (detail line) to which the invoice amount is
to be charged. It is initially populated by the import process. Some
distribution rows in a set belonging to a single invoice will carry GL
numbers for discount amounts, which may be negative values. In these
cases, the GL number will indicate a sub-account. The rows are linked to a
single row in the Active_Invoices table by the ActiveInvoicesID field .
Fields include:







RowID - unique, sequential identifier
ActiveInvoicesID - row id for the invoice to which this distribution row
is linked.
GL Number - Distribution GL Account number
CVD-COMPANY (numeric, 4, ABS=CORP_ID)
CVD-VENDOR (alpha numeric, 9, ABS=AP_NO)
CVD-INVOICE - alpha, 22, ABS=INVOICE_NUMBER)
CVD-ORIG-TRAN-AMT-IN (numeric, 15, 2 decimals; $ Amount of
distribution; value must be positive, credit memo Inv-Types are
converted to positive values for Lawson.
M2 Automotive - ABS to Lawson - AP Interface Module
Design Specification 





CVD-ORIG-TRAN-AMT (numeric, 15, 2 decimals) - amount exported
to Lawson; associated with the CVD-DIS-ACCT-UNIT and CVD-DISACCOUNT
CVD-DIS-ACCT-UNIT-IN (alpha, 15 ABS=SHOP_NO) - value
imported with data from ABS.
CVD-DIS-ACCT-UNIT (alpha, 15) - value for export to Lawson
CVD-DIS-ACCOUNT-IN (numeric 6, strip off Sales ID, use only first
4 digits) - GL account number of distribution amount
CVD-DIS-ACCOUNT - (numeric, 4) - GL account of distribution
amount, or GL number of discount amount’s GL account to be used in
the export to Lawson.
DateTimeModified - date time stamp for the last time this
detail/distribution row was updated.
Page 36
data field in a table, along with its before and after values. What appears to
the user as a single update action, may be reflected in this table as multiple
rows, one for each field changed. This provides a complete audit trail for all
user initiated changes in the data. All data is stored as text, except the Row
ID, to allow simplicity and flexibility in the working of this table. The
table’s fields are:







RowID - assigned sequentially by the SQL data base, integer.
Table - name of the table that was involved in the update action.
FieldUpdated - name of the field updated.
OldValue - content of the field prior to the update action.
NewValue - content of the field after the update.
UserID - user ID of the person performing the update.
DateTime - date time when the update occurred.
Activity_Log - this table contains one row for each user action within the
module’s main window. These actions are defined as a change to a single
Data Source Tables - these files are the format of the ABS generated Lawson import files that the data import process uses, and that the Lawson Export program
generates. They are combined here for ease of reference. The differences are shown in the “when importing or exporting” notes.
APCINVOICE - File format for Invoice Header record. These files are
saved with the suffix of “.APT” and are comma-delimited. Many fields are
not used, so exported data must have the correct number of commas to
position those that are used correctly.
Field
No.
Field Name
6
7
Not used
CVIVOUCHERNBR
Not Used
$CVI-PROCLEVEL
Not used
CVIINVOICETYPE
This is the actual format from the ABS documentation for the Lawson
interface program. Shown here are only the fields that have actual data
Field
No.
Field Name
Type
Size
When Importing
1
CVICOMPANY
CVI-VENDOR
Not used
CVI-INVOICE
Not used
Numer-ic
4
2000
AN
9
Alpha
15
2
3
4
5
When
Exporting
2000
8
9
10
11
12
13
Not used
Not used
Type
Size
When Importing
When
Exporting
AN
10
RO
number
RO
Number
Alpha
5
Store No
Store No
Alpha
1
Invoices =
null
Credit
memo = c
Invoices =
null
Credit
memo = c
M2 Automotive - ABS to Lawson - AP Interface Module
Design Specification - March 8, 2016
Field
No.
Field Name
Type
Size
When Importing
14
CVIINVOICE-DTE
Numeric
8
4 digit
year,
month, day
format;
converte to
SQL date
format
during
import
15-19
20
21
22
23-72
Not used
CVIDECRIPTION
CVI-BASEINV-AMT
CVI-TRANINV-AMT
Not used
Alpha
Numer-ic
15, 2
Numer-ic
30
RO
Number as
“RO#9999
"
2 decimals
15.2
2 decimals
When
Exporting
Export by
convertin
g SQL
date to 4
digit year,
month,
day
format,
e.g.,
20011115
for Nov
15, 2001
RO
Number
as
“RO#999
9”
2
decimals
2
decimals
APCDISTRIB File format- these files are saved with the suffix of “.APD.”
Field
No.
Field Name
Type
Size
When
Importing
When
Exporting
1
CVDCOMPANY
CVDVENDOR
Not used
Nume-ic
4
2000
2000
AN
9
2
3
Page 37
4
CVDINVOICE
Not used
CVD-DISTSWQ-NBR
CVD-ORIGTRAN-AMT
Not used
Not used
Not used
CVD-DISACCT-UNIT
CVD-DISACCOUNT
Alpha
15
Numeric
4
Numeric
15.2
2 decimals
2
decimals
Alpha
15
Store no
Store no
Numeric
6
Trim right
most 0 off
the end
Numeric
4
14
15
CVD-DISSUB-ACCT
Not used
CVDDESCRIPTIO
N
Alpha
30
16-36
Not used
5
6
7
8
9
10
11
12
13
Ro
number,
as
“RO#999
9”
Ro
number,
as
“RO#999
9”
Download