Payroll: A/P Payments: Difference between revisions

From KeystoneIntranet
Jump to navigation Jump to search
Intra>User
m (1 revision imported)
 
m (1 revision imported)
 

Latest revision as of 13:00, 14 July 2023

Introduction

As of Keystone version 2.5.1, A/P payments may be automatically generated from Payroll. There are many uses for these automatic A/P payments, the example used here will be for Texas Child Support payments (as ACH payments).

NOTE: The A/P payments are exported in NACHA CCD+ format.

To configure automatic A/P payments from Payroll, several steps are required.

Configure A/P

Using A/P Vendor Maintenance, setup a vendor to receive the A/P payments. Be sure to select appropriate Payment Terms. Anything entered in the Check Memo field will appear on each A/P check.

Be certain to setup default A/P, Cash, Discount and Expense G/L accounts for the vendor, and select the box "Automatically distribute to above G/L accounts."

On the "Pay Info" tab, select the appropriate Payment Method. If using ACH, also enter the appropriate ACH Account information. Remember that you are entering the ACH Account information for the vendor receiving the payments.

Configure C/M

If using ACH for the A/P payments, some extra information is required for the Bank Account associated with the A/P payments. All the fields on the "Direct Deposit" tab are required except for Dest Routing No and Orig Routing No. Remember that you are entering the ACH Account information for your company's bank account.

Configure Payroll

The first step in Payroll is to add a new formula which will generate the A/P payment for the associated definition. (See insert script below)

Next you setup the Category and Definitions for the payroll deduction using Company Maintenance. The second definition for the deduction must be a "Working" type and must use a special formula which defines the information to be sent to the A/P system.

There are also two required company factors for the second definition. The first is ADD_FORMAT which is a special value that tells the A/P system what format the addenda information that is defined in the special formula is in. The second is VEND_ID which identifies the associated A/P Vendor to use for the A/P payments associated with this deduction.

In Employee Maintenance the deduction must be added to employees as required. For the second definition, there are employee factors that are required for each employee. Normally these are configured once and will not change.

Once the configuration has been completed, the Payroll process can be performed normally. There is no special processing required. After the payroll run is accepted, Keystone will generate an A/P Invoice Vouchering batch for any automatic A/P payments.

A/P Process

After a payroll is accepted, an A/P Invoice Vouchering batch will be visible within A/P. This is a normal batch that can be edited as necessary. Once validated this batch is posted. Note that the payroll system has setup the invoices within this batch to be fully paid.

If the Payroll-A/P payments are to be paid to the vendor via ACH, you must run the A/P ACH Export option after the A/P Checks and A/P ACH Reports are printed. This will generate the appropriate ACH transaction file to be sent to the bank.

Sample A/P ACH Export File

$$ADD ID=ABCDEFGH BID='NWFACH12345678P=PASSWORD'
101 55544333312345678901112172256B094101DEST BANK NAME         ORIG BANK NAME                 
5220COMPANY NAME                        12121212  CCDTXSDUACHV1121711111217   1554433330000001
622123456789456789           0000006511CS00554        TEXAS CHILD SUPPORT SD  1555443330000001
705DED*CS*23297832938238      *111217*0000006511*555555555*Y*LAST,FIRST**N\        00010000001
8200000002001234567800000000000000000000651112121212                           555443330000001
9000001000001000000020012345678000000000000000000006511                                       

See Also

Payroll: ACH Direct Deposit

AP ACH Insert Script

INSERT INTO PRTFORMULA (
FORMULA_ID, DESCRIPTION, CUSTOM_FLAG, MEMO, ACTIVE_FLAG, LAST_CHANGE_DATETIME, LAST_CHANGE_USER, FORMULA_TYPE )  VALUES (
'APACH', 'A/P Payments to ACH', 'Y', NULL, 'Y', CAST('now' AS TIMESTAMP), 'HIT', 'W'  );


INSERT INTO PRTPOP (
FORMULA_ID, SEQUENCE, OPERATION, PARAM_1, PARAM_2, PARAM_3, CONTROL_FLAG, COMMENT )  VALUES (
'APACH', '1', '8', 'SELF.CUR', 'LINK.D.CUR', NULL, NULL, NULL  );

INSERT INTO PRTPOP (
FORMULA_ID, SEQUENCE, OPERATION, PARAM_1, PARAM_2, PARAM_3, CONTROL_FLAG, COMMENT )  VALUES (
'APACH', '2', '28', 'SELF.ADD_FORMAT', 'SELF.VEND_ID', 'SELF.CUR', NULL, NULL  );

INSERT INTO PRTPOP (
FORMULA_ID, SEQUENCE, OPERATION, PARAM_1, PARAM_2, PARAM_3, CONTROL_FLAG, COMMENT )  VALUES (
'APACH', '3', '29', '"CASE_NO"', 'SELF.CASE_NO', NULL, NULL, NULL  );

INSERT INTO PRTPOP (
FORMULA_ID, SEQUENCE, OPERATION, PARAM_1, PARAM_2, PARAM_3, CONTROL_FLAG, COMMENT )  VALUES (
'APACH', '4', '29', '"MEDICAL"', 'SELF.MEDICAL', NULL, NULL, NULL  );

INSERT INTO PRTPOP (
FORMULA_ID, SEQUENCE, OPERATION, PARAM_1, PARAM_2, PARAM_3, CONTROL_FLAG, COMMENT )  VALUES (
'APACH', '5', '29', '"NLE"', 'SELF.NLE', NULL, NULL, NULL  );

INSERT INTO PRTPOP (
FORMULA_ID, SEQUENCE, OPERATION, PARAM_1, PARAM_2, PARAM_3, CONTROL_FLAG, COMMENT )  VALUES (
'APACH', '6', '29', '"SSN"', 'EMP.SSN', NULL, NULL, NULL  );

INSERT INTO PRTPOP (
FORMULA_ID, SEQUENCE, OPERATION, PARAM_1, PARAM_2, PARAM_3, CONTROL_FLAG, COMMENT )  VALUES (
'APACH', '7', '29', '"FIRST_NAME"', 'EMP.FIRST_NAME', NULL, NULL, NULL  );

INSERT INTO PRTPOP (
FORMULA_ID, SEQUENCE, OPERATION, PARAM_1, PARAM_2, PARAM_3, CONTROL_FLAG, COMMENT )  VALUES (
'APACH', '8', '29', '"LAST_NAME"', 'EMP.LAST_NAME', NULL, NULL, NULL  );

INSERT INTO PRTPOP (
FORMULA_ID, SEQUENCE, OPERATION, PARAM_1, PARAM_2, PARAM_3, CONTROL_FLAG, COMMENT )  VALUES (
'APACH', '9', '30', 'LINK.D.GLC', NULL, NULL, NULL, NULL  );

INSERT INTO PRTFORMFACT (
FORMULA_ID, FACTOR_ID, DESCRIPTION, VALUE_TYPE, TYPE_FLAG, LAST_CHANGE_DATETIME, LAST_CHANGE_USER )  VALUES (
'APACH', 'VEND_ID', 'Vendor ID', NULL, 'C', CAST('now' AS TIMESTAMP), 'HIT'  );

INSERT INTO PRTFORMFACT (
FORMULA_ID, FACTOR_ID, DESCRIPTION, VALUE_TYPE, TYPE_FLAG, LAST_CHANGE_DATETIME, LAST_CHANGE_USER )  VALUES (
'APACH', 'CASE_NO', 'Case Number', NULL, 'E', CAST('now' AS TIMESTAMP), 'HIT'  );

INSERT INTO PRTFORMFACT (
FORMULA_ID, FACTOR_ID, DESCRIPTION, VALUE_TYPE, TYPE_FLAG, LAST_CHANGE_DATETIME, LAST_CHANGE_USER )  VALUES (
'APACH', 'MEDICAL', 'Medical Support', NULL, 'E', CAST('now' AS TIMESTAMP), 'HIT'  );

INSERT INTO PRTFORMFACT (
FORMULA_ID, FACTOR_ID, DESCRIPTION, VALUE_TYPE, TYPE_FLAG, LAST_CHANGE_DATETIME, LAST_CHANGE_USER )  VALUES (
'APACH', 'NLE', 'No  Longer Employed', NULL, 'E', CAST('now' AS TIMESTAMP), 'HIT'  );

INSERT INTO PRTFORMFACT (
FORMULA_ID, FACTOR_ID, DESCRIPTION, VALUE_TYPE, TYPE_FLAG, LAST_CHANGE_DATETIME, LAST_CHANGE_USER )  VALUES (
'APACH', 'ADD_FORMAT', 'Addenda Format', NULL, 'C', CAST('now' AS TIMESTAMP), 'HIT'  );