001    /*
002     * Copyright 2011 The Kuali Foundation.
003     * 
004     * Licensed under the Educational Community License, Version 2.0 (the "License");
005     * you may not use this file except in compliance with the License.
006     * You may obtain a copy of the License at
007     * 
008     * http://www.opensource.org/licenses/ecl2.php
009     * 
010     * Unless required by applicable law or agreed to in writing, software
011     * distributed under the License is distributed on an "AS IS" BASIS,
012     * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
013     * See the License for the specific language governing permissions and
014     * limitations under the License.
015     */
016    package org.kuali.kfs.module.ar;
017    
018    
019    public class ArConstants {
020    
021        public static final String AR_NAMESPACE_CODE = "KFS-AR";
022    
023        public static final String INVOICE_DOC_TYPE = "Invoice";
024        public static final String CREDIT_MEMO_DOC_TYPE = "Credit Memo";
025        
026        //System Parameters
027        public static final String INSTITUTION_NAME = "INSTITUTION_NAME";
028        public static final String GLPE_RECEIVABLE_OFFSET_GENERATION_METHOD = "GLPE_RECEIVABLE_OFFSET_GENERATION_METHOD";
029        public static final String GLPE_WRITEOFF_GENERATION_METHOD = "GLPE_WRITEOFF_GENERATION_METHOD";
030        public static final String ALLOW_SALES_TAX_LIABILITY_ADJUSTMENT_IND = "ALLOW_SALES_TAX_LIABILITY_ADJUSTMENT_IND";
031        public static final String MAXIMUM_NUMBER_OF_DAYS_AFTER_CURRENT_DATE_FOR_INVOICE_DUE_DATE = "MAXIMUM_NUMBER_OF_DAYS_AFTER_CURRENT_DATE_FOR_INVOICE_DUE_DATE";
032        public static final String REMIT_TO_ADDRESS_EDITABLE_IND = "REMIT_TO_ADDRESS_EDITABLE_IND";
033        public static final String REMIT_TO_NAME_EDITABLE_IND = "REMIT_TO_NAME_EDITABLE_IND";
034        public static final String GLPE_RECEIVABLE_OFFSET_OBJECT_CODE_BY_SUB_FUND = "GLPE_RECEIVABLE_OFFSET_OBJECT_CODE_BY_SUB_FUND";
035        public static final String INVOICE_RECURRENCE_INTERVALS = "INVOICE_RECURRENCE_INTERVALS";
036        public static final String MAXIMUM_RECURRENCES_BY_INTERVAL = "MAXIMUM_RECURRENCES_BY_INTERVAL";
037        public static final String ENABLE_SALES_TAX_IND = "ENABLE_SALES_TAX_IND";
038        public static final String CUSTOMER_INVOICE_AGE = "CUSTOMER_INVOICE_AGE";
039        public static final String WRITEOFF_APPROVAL_THRESHOLD = "APPROVAL_THRESHOLD";
040        
041        //Valid number of days the invoice due date can be more than invoice creation date.
042        public static final int VALID_NUMBER_OF_DAYS_INVOICE_DUE_DATE_PAST_INVOICE_DATE = 90;
043    
044        public static final String NEW_CUSTOMER_INVOICE_DETAIL_ERROR_PATH_PREFIX = "newCustomerInvoiceDetail";
045        public static final String NEW_CASH_CONTROL_DETAIL_ERROR_PATH_PREFIX = "newCashControlDetail";
046    
047        public static final String CUSTOMER_INVOICE_DOCUMENT_GL_POSTING_HELPER_BEAN_ID = "customerInvoiceDocumentGeneralLedgerPostingHelper";
048    
049        public static final String CUSTOMER_INVOICE_DETAIL_UOM_DEFAULT = "EA"; //TODO: System parameter?
050        
051        public static final String LOOKUP_CUSTOMER_NAME = "customerName";
052        public static final String LOOKUP_CUSTOMER_NUMBER = "customerNumber";
053        public static final String LOOKUP_INVOICE_NUMBER = "invoiceNumber";
054    
055        public static final String GLPE_RECEIVABLE_OFFSET_GENERATION_METHOD_CHART = "1";
056        public static final String GLPE_RECEIVABLE_OFFSET_GENERATION_METHOD_SUBFUND = "2";
057        public static final String GLPE_RECEIVABLE_OFFSET_GENERATION_METHOD_FAU = "3";
058        public static final String GLPE_WRITEOFF_GENERATION_METHOD_CHART = "1";
059        public static final String GLPE_WRITEOFF_GENERATION_METHOD_ORG_ACCT_DEFAULT = "2";
060        public static final String ALLOW_SALES_TAX_LIABILITY_ADJUSTMENT_IND_NO = "N";
061        public static final String COPY_CUSTOMER_INVOICE_DOCUMENT_WITH_DISCOUNTS_QUESTION = "ConfirmationForCopyingInvoiceWithDiscounts";
062    
063        public static final String CUSTOMER_INVOICE_DETAIL_DEFAULT_DISCOUNT_DESCRIPTION_PREFIX = "LINE ITEM DISCOUNT";
064    
065        public static class PaymentMediumCode {
066            public static final String CASH = "CA";
067            public static final String CHECK = "CK";
068            public static final String WIRE_TRANSFER = "WT";
069            public static final String CREDIT_CARD = "CR";
070        }
071    
072        public static class CustomerAgingReportFields {        
073            // Report Options
074            public static final String PROCESSING_ORG = "Processing Organization";
075            public static final String BILLING_ORG = "Billing Organization";
076            public static final String ACCT = "Account";
077            
078            public static final String TOTAL_0_TO_30 = "total0to30";
079            public static final String TOTAL_31_TO_60 = "total31to60";
080            public static final String TOTAL_61_TO_90 = "total61to90";
081            public static final String TOTAL_91_TO_SYSPR = "total90toSYSPR";
082            public static final String TOTAL_SYSPR_PLUS_1_OR_MORE = "totalSYSPRplus1orMore";
083            public static final String TOTAL_AMOUNT_DUE = "totalAmountDue";
084        }    
085    
086        public static class OrganizationAccountingOptionsConstants {
087            public static final String SHOW_EDIT_PAYMENTS_DEFAULTS_TAB = GLPE_RECEIVABLE_OFFSET_GENERATION_METHOD_FAU;
088            public static final String ORG_ACCT_DEFAULT_RECEIVABLE_TAB_NAME = "Edit Organization Receivable Account Defaults";
089            public static final String ORG_ACCT_DEFAULT_WRITEOFF_TAB_NAME = "Edit Organization Writeoff Account Defaults";
090        }
091    
092        public static class CustomerCreditMemoStatuses {
093            public static final String INITIATE = "INIT";
094            public static final String IN_PROCESS = "INPR";
095        }
096    
097        public static class CustomerInvoiceWriteoffStatuses {
098            public static final String INITIATE = "INIT";
099            public static final String IN_PROCESS = "INPR";
100        }    
101    
102        public static class CustomerCreditMemoConstants {
103            public static final String CUSTOMER_CREDIT_MEMO_ITEM_QUANTITY = "qty";
104            public static final String CUSTOMER_CREDIT_MEMO_ITEM_TOTAL_AMOUNT = "itemAmount";
105            public static final String BOTH_QUANTITY_AND_ITEM_TOTAL_AMOUNT_ENTERED = "both";
106            public static final String GENERATE_CUSTOMER_CREDIT_MEMO_DOCUMENT_QUESTION_ID = "GenerateCustomerCreditMemoDocumentQuestionID";
107        }
108    
109        public static final class CustomerLoad {
110            public static final String CUSTOMER_LOAD_FILE_TYPE_IDENTIFIER = "customerLoadInputFileType";
111            public static final String CUSTOMER_LOAD_REPORT_SUBFOLDER = "ar";
112            public static final String BATCH_REPORT_BASENAME = "ar_customer_load";
113        }
114        
115        public static final class CustomerInvoiceWriteoff {
116            public static final String CUSTOMER_INVOICE_WRITEOFF_FILE_TYPE_IDENTIFIER = "customerInvoiceWriteoffInputFileType";
117            public static final String CUSTOMER_INVOICE_WRITEOFF_REPORT_SUBFOLDER = "ar";
118            public static final String BATCH_REPORT_BASENAME = "customer_invoice_writeoff";
119        }
120        
121        public static final class Lockbox {
122            public static final String LOCKBOX_REPORT_SUBFOLDER = "ar";
123            public static final String BATCH_REPORT_BASENAME = "lockbox_batch";
124        }
125        
126        public static final String ORGANIZATION_RECEIVABLE_ACCOUNT_DEFAULTS = "Organization Receivable Account Defaults";
127        public static final String DISCOUNT_PREFIX = "DISCOUNT - ";
128        public static final String GLPE_WRITEOFF_OBJECT_CODE_BY_CHART = "GLPE_WRITEOFF_OBJECT_CODE_BY_CHART";
129        public static final String NO_COLLECTION_STATUS_STRING = "No Collection Status";
130        public static final Object CUSTOMER_INVOICE_WRITEOFF_SUMMARY_ACTION = "viewSummary";
131        public static final String CUSTOMER_INVOICE_WRITEOFF_DOCUMENT_DESCRIPTION = "Writeoff for ";
132    
133        public static class PrintInvoiceOptions {
134            public static final String PRINT_BY_PROCESSING_ORG = "Q";
135            public static final String PRINT_BY_USER = "U";
136            public static final String PRINT_BY_BILLING_ORG = "B";
137            public static final String PRINT_INVOICE_NOW = "Y";
138            public static final String PRINT_DO_NOT_PRINT = "N";
139        }
140    
141        public static final String LOCKBOX_DOCUMENT_DESCRIPTION = "Created by Lockbox ";
142        public static final String LOCKBOX_REMITTANCE_FOR_INVALID_INVOICE_NUMBER = "Lockbox: Remittance for INVALID invoice number ";
143        public static final String LOCKBOX_REMITTANCE_FOR_CLOSED_INVOICE_NUMBER = "Lockbox: Remittance for CLOSED invoice number ";
144        public static final String LOCKBOX_REMITTANCE_FOR_INVOICE_NUMBER = "Lockbox: Remittance for invoice number ";
145    
146        // Probably refactor these two constants out to pull them from a service, system parameter or something.
147        public static final String ACTUALS_BALANCE_TYPE_CODE = "AC";
148        public static final String PAYMENT_APPLICATION_DOCUMENT_TYPE_CODE = "APP";
149        
150        // Organization Options Section Ids
151        public static class OrganizationOptionsSections {
152            public static final String  EDIT_ORGANIZATION_REMIT_TO_ADDRESS = "Edit Organization Remit To Address";
153        }
154        
155    }