001/*
002 * The Kuali Financial System, a comprehensive financial management system for higher education.
003 *
004 * Copyright 2005-2014 The Kuali Foundation
005 *
006 * This program is free software: you can redistribute it and/or modify
007 * it under the terms of the GNU Affero General Public License as
008 * published by the Free Software Foundation, either version 3 of the
009 * License, or (at your option) any later version.
010 *
011 * This program is distributed in the hope that it will be useful,
012 * but WITHOUT ANY WARRANTY; without even the implied warranty of
013 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
014 * GNU Affero General Public License for more details.
015 *
016 * You should have received a copy of the GNU Affero General Public License
017 * along with this program.  If not, see <http://www.gnu.org/licenses/>.
018 */
019package org.kuali.kfs.module.ar;
020
021/**
022 * Error Key Constants for KFS-AR.
023 */
024public class ArKeyConstants {
025
026    // Customer Invoice Document errors:
027    public static final String ERROR_CUSTOMER_INVOICE_DETAIL_TOTAL_AMOUNT_LESS_THAN_OR_EQUAL_TO_ZERO = "error.document.customerInvoiceDocument.invalidCustomerInvoiceDetailTotalAmount";
028    public static final String ERROR_CUSTOMER_INVOICE_DETAIL_UNIT_PRICE_LESS_THAN_OR_EQUAL_TO_ZERO = "error.document.customerInvoiceDocument.invalidCustomerInvoiceDetailUnitPrice";
029    public static final String ERROR_CUSTOMER_INVOICE_DETAIL_QUANTITY_LESS_THAN_OR_EQUAL_TO_ZERO = "error.document.customerInvoiceDocument.invalidCustomerInvoiceDetailQuantityPrice";
030    public static final String ERROR_CUSTOMER_INVOICE_DETAIL_INVALID_ITEM_CODE = "error.document.customerInvoiceDocument.invalidCustomerInvoiceDetailItemCode";
031    public static final String ERROR_CUSTOMER_INVOICE_DETAIL_DISCOUNT_AMOUNT_GREATER_THAN_PARENT_AMOUNT = "error.document.customerInvoiceDocument.discountAmountGreaterThanParentAmount";
032    public static final String ERROR_CUSTOMER_INVOICE_DETAIL_SYSTEM_INFORMATION_DISCOUNT_DOES_NOT_EXIST = "error.document.customerInvoiceDocument.systemInformationDiscountDoesNotExist";
033    public static final String ERROR_CUSTOMER_INVOICE_DOCUMENT_INVALID_BILLED_BY_CHART_OF_ACCOUNTS_CODE = "error.document.customerInvoiceDocument.invalidBilledByChartOfAccountsCode";
034    public static final String ERROR_CUSTOMER_INVOICE_DOCUMENT_INVALID_BILLED_BY_ORGANIZATION_CODE = "error.document.customerInvoiceDocument.invalidBilledByOrganizationCode";
035    public static final String ERROR_CUSTOMER_INVOICE_DOCUMENT_INVALID_INVOICE_DUE_DATE_MORE_THAN_X_DAYS = "error.document.customerInvoiceDocument.invalidInvoiceDueDateMoreThanXDays";
036    public static final String ERROR_CUSTOMER_INVOICE_DOCUMENT_INVALID_INVOICE_DUE_DATE_BEFORE_OR_EQUAL_TO_BILLING_DATE = "error.document.customerInvoiceDocument.invalidInvoiceDueDateBeforeOrEqualBillingDate";
037    public static final String ERROR_CUSTOMER_INVOICE_DOCUMENT_INVALID_CUSTOMER_NUMBER = "error.document.customerInvoiceDocument.invalidCustomerNumber";
038    public static final String ERROR_CUSTOMER_INVOICE_DOCUMENT_NO_CUSTOMER_INVOICE_DETAILS = "error.document.customerInvoiceDocument.noCustomerInvoiceDetails";
039    public static final String ERROR_CUSTOMER_INVOICE_DOCUMENT_INVALID_BILLING_PROCESSING_ORGANIZATION_IN_ORG_OPTIONS = "error.document.customerInvoiceDocument.invalidBilingProcessingOrgInOrgOptions";
040
041    public static final String ERROR_CUSTOMER_INVOICE_DOCUMENT_INVALID_PAYMENT_CHART_OF_ACCOUNTS_CODE = "error.document.customerInvoiceDocument.invalidPaymentChartOfAccountsCode";
042    public static final String ERROR_CUSTOMER_INVOICE_DOCUMENT_INVALID_PAYMENT_ACCOUNT_NUMBER = "error.document.customerInvoiceDocument.invalidPaymentAccountNumber";
043    public static final String ERROR_CUSTOMER_INVOICE_DOCUMENT_INVALID_PAYMENT_SUB_ACCOUNT_NUMBER = "error.document.customerInvoiceDocument.invalidPaymentSubAccountNumber";
044    public static final String ERROR_CUSTOMER_INVOICE_DOCUMENT_INVALID_PAYMENT_OBJECT_CODE = "error.document.customerInvoiceDocument.invalidPaymentObjectCode";
045    public static final String ERROR_CUSTOMER_INVOICE_DOCUMENT_INVALID_PAYMENT_SUB_OBJECT_CODE = "error.document.customerInvoiceDocument.invalidPaymentSubObjectCode";
046    public static final String ERROR_CUSTOMER_INVOICE_DOCUMENT_INVALID_PAYMENT_PROJECT_CODE = "error.document.customerInvoiceDocument.invalidPaymentProjectCode";
047
048    public static final String ERROR_CUSTOMER_INVOICE_DOCUMENT_INVALID_SHIP_TO_ADDRESS_IDENTIFIER = "error.document.customerInvoiceDocument.invalidShipToAddressIdentifier";
049    public static final String ERROR_CUSTOMER_INVOICE_DOCUMENT_INVALID_BILL_TO_ADDRESS_IDENTIFIER = "error.document.customerInvoiceDocument.invalidBillToAddressIdentifier";
050    public static final String ERROR_CUSTOMER_INVOICE_DOCUMENT_INACTIVE_SHIP_TO_ADDRESS_IDENTIFIER = "error.document.customerInvoiceDocument.inactiveShipToAddressIdentifier";
051    public static final String ERROR_CUSTOMER_INVOICE_DOCUMENT_INACTIVE_BILL_TO_ADDRESS_IDENTIFIER = "error.document.customerInvoiceDocument.inactiveBillToAddressIdentifier";
052
053    public static final String ERROR_CUSTOMER_INVOICE_DOCUMENT_INVALID_CHART_WITH_NO_AR_OBJ_CD = "error.document.customerInvoiceDocument.invalidChartWithNoARObjectCode";
054    public static final String ERROR_CUSTOMER_INVOICE_DOCUMENT_INVALID_SUBFUND_WITH_NO_AR_OBJ_CD = "error.document.customerInvoiceDocument.invalidSubFundWithNoARObjectCode";
055    public static final String ERROR_CUSTOMER_INVOICE_DOCUMENT_INVALID_SUBFUND_AR_OBJ_CD_IN_PARM = "error.document.customerInvoiceDocument.invalidSubFundARObjectCodeInParm";
056    public static final String ERROR_CUSTOMER_INVOICE_DOCUMENT_INVALID_UNIT_OF_MEASURE_CD = "error.document.customerInvoiceDocument.invalidUnitOfMeasureCode";
057    public static final String CORRECTED_INVOICE_NOT_FOUND_ERROR = "error.invoice.not.correct";
058
059
060    // Invoice Recurrence errors/warnings:
061    public static final String ERROR_RECURRING_INVOICE_NUMBER_MUST_BE_APPROVED = "error.document.invoiceRecurrenceMaintenance.invoiceMustBeApproved";
062    public static final String ERROR_MAINTENANCE_DOCUMENT_ALREADY_EXISTS = "error.document.invoiceRecurrenceMaintenance.maintenanceDocumentsExists";
063    public static final String ERROR_INVOICE_RECURRENCE_BEGIN_DATE_IS_REQUIRED = "error.document.invoiceRecurrenceMaintenance.beginDateIsRequired";
064    public static final String ERROR_INVOICE_RECURRENCE_BEGIN_DATE_EARLIER_THAN_TODAY = "error.document.invoiceRecurrenceMaintenance.beginDateMustBeEarlierThanToday";
065    public static final String ERROR_INVOICE_DOES_NOT_EXIST = "error.document.invoiceRecurrenceMaintenance.invoiceDoesNotExist";
066    public static final String ERROR_END_DATE_EARLIER_THAN_BEGIN_DATE = "error.document.invoiceRecurrenceMaintenance.endDateEarlierThanBeginDate";
067    public static final String ERROR_END_DATE_OR_TOTAL_NUMBER_OF_RECURRENCES = "error.document.invoiceRecurrenceMaintenance.enterEndDateOrTotalNumberOfRecurrences";
068    public static final String ERROR_TOTAL_NUMBER_OF_RECURRENCES_GREATER_THAN_ALLOWED = "error.document.invoiceRecurrenceMaintenance.totalRecurrencesMoreThanAllowed";
069    public static final String ERROR_END_DATE_AND_TOTAL_NUMBER_OF_RECURRENCES_NOT_VALID = "error.document.invoiceRecurrenceMaintenance.endDateAndTotalNumberOfRecurrencesNotValid";
070    public static final String ERROR_INVOICE_RECURRENCE_INTERVAL_CODE_IS_REQUIRED = "error.document.invoiceRecurrenceMaintenance.intervalCodeIsRequired";
071    public static final String ERROR_INVOICE_RECURRENCE_INITIATOR_IS_REQUIRED = "error.document.invoiceRecurrenceMaintenance.initiatorIsRequired";
072    public static final String ERROR_INVOICE_RECURRENCE_INITIATOR_DOES_NOT_EXIST = "error.document.invoiceRecurrenceMaintenance.initiatorDoesNotExist";
073    public static final String ERROR_INVOICE_RECURRENCE_INITIATOR_IS_NOT_AUTHORIZED = "error.document.invoiceRecurrenceMainitenance.initiatorIsNotAuthorized";
074    public static final String ERROR_INVOICE_RECURRENCE_DATA_SUFFICIENCY = "error.document.invoiceRecurrenceMaintenance.notEnoughDataToGenerateRecurrence";
075    public static final String ERROR_INVOICE_RECURRENCE_ACTIVE_MUST_BE_TRUE = "error.document.invoiceRecurrenceMaintenance.activeIndicatorMustBeTrue";
076
077    // CostomerInvoiceDocument constants:
078    public static final String INVOICE_CLOSE_NOTE_TEXT= "note.document.customerInvoiceDocument.closeInvoiceNote";
079
080    //Batch File System
081    static final public String CGINVOICE_CREATION_AWARD_START_DATE_MISSING_ERROR = "error.cginvoice.award.startDate.missing";
082    static final public String CGINVOICE_CREATION_AWARD_EXCLUDED_FROM_INVOICING = "error.cginvoice.award.excluded.from.invoicing";
083    static final public String CGINVOICE_CREATION_AWARD_INACTIVE_ERROR = "error.cginvoice.award.inactive";
084    static final public String CGINVOICE_CREATION_INVOICING_OPTION_MISSING_ERROR = "error.cginvoice.award.missing";
085    static final public String CGINVOICE_CREATION_BILLING_FREQUENCY_MISSING_ERROR = "error.cginvoice.billing.missing.frequency";
086    static final public String CGINVOICE_CREATION_NO_ACTIVE_ACCOUNTS_ASSIGNED_ERROR = "error.cginvoice.no.active.accounts.assigned";
087    static final public String CGINVOICE_CREATION_AWARD_FINAL_BILLED_ERROR = "error.cginvoice.already.billed";
088    static final public String CGINVOICE_CREATION_CONAINS_EXPIRED_ACCOUNTS_ERROR = "error.cginvoice.award.contain.expired.account";
089    static final public String CGINVOICE_CREATION_SINGLE_ACCOUNT_ERROR = "error.cginvoice.award.single.account";
090    static final public String LOC_CREATION_ERROR_INVOICE_PAID = "error.loc.invoice.paid";
091    static final public String LOC_CREATION_ERROR_NO_INVOICES_TO_PROCESS = "error.loc.no.invoices.to.process";
092    static final public String CGINVOICE_CREATION_AWARD_INVALID_BILLING_PERIOD = "error.cginvoice.award.not.eligible.invoice";
093    static final public String CGINVOICE_CREATION_AWARD_NO_VALID_MILESTONES = "error.cginvoice.award.not.valid.milestones";
094    static final public String CGINVOICE_CREATION_AWARD_NO_VALID_BILLS = "error.cginvoice.award.not.valid.bills";
095    static final public String CGINVOICE_CREATION_AWARD_NO_VALID_ACCOUNTS = "error.cgivoice.award.not.valid.accounts";
096    static final public String CGINVOICE_CREATION_AWARD_AGENCY_NO_CUSTOMER_RECORD = "error.cginvoice.award.not.valid.customer";
097    static final public String CGINVOICE_CREATION_SYS_INFO_OADF_NOT_SETUP = "error.cginvoice.sys.info.not.setup";
098    static final public String CGINVOICE_CREATION_AWARD_OFFSET_DEF_NOT_SETUP = "error.cginvoice.award.offset.not.setup";
099
100    // Organization Accounting Defaults errors
101    public static final class OrganizationAccountingDefaultErrors {
102        public static final String WRITE_OFF_OBJECT_CODE_INVALID = "error.document.organizationAccountingDefaultMaintenance.writeOffObjectCodeInvalid";
103        public static final String LATE_CHARGE_OBJECT_CODE_INVALID = "error.document.organizationAccountingDefaultMaintenance.lateChargeObjectCodeInvalid";
104        public static final String DEFAULT_INVOICE_FINANCIAL_OBJECT_CODE_INVALID = "error.document.organizationAccountingDefaultMaintenance.defaultInvoiceFinancialObjectCodeInvalid";
105        public static final String DEFAULT_INVOICE_FINANCIAL_OBJECT_CODE_INVALID_RESTRICTED = "error.document.organizationAccountingDefaultMaintenance.defaultInvoiceFinancialObjectCodeInvalidRestricted";
106        public static final String DEFAULT_CHART_OF_ACCOUNTS_REQUIRED_IF_DEFAULT_OBJECT_CODE_EXISTS = "error.document.organizationAccountingDefaultMaintenance.defaultInvoiceChartOfAccountsCodeMustExist";
107        public static final String ERROR_WRITEOFF_OBJECT_CODE_REQUIRED = "error.document.customerInvoiceDocument.writeoffFinancialObjectCodeRequired";
108        public static final String ERROR_WRITEOFF_CHART_OF_ACCOUNTS_CODE_REQUIRED = "error.document.customerInvoiceDocument.writeoffChartOfAccountsCodeRequired";
109        public static final String ERROR_WRITEOFF_ACCOUNT_NUMBER_REQUIRED = "error.document.customerInvoiceDocument.writeoffAccountNumberRequired";
110        public static final String ERROR_PAYMENT_CHART_OF_ACCOUNTS_CODE_REQUIRED = "error.document.customerInvoiceDocument.paymentChartOfAccountsCodeRequired";
111        public static final String ERROR_PAYMENT_ACCOUNT_NUMBER_REQUIRED = "error.document.customerInvoiceDocument.paymentAccountNumberRequired";
112        public static final String ERROR_PAYMENT_OBJECT_CODE_REQUIRED = "error.document.customerInvoiceDocument.paymentPaymentObjectCodeRequired";
113    }
114
115    // System Information errors
116    public static final class SystemInformation {
117        // public static final String SALES_TAX_OBJECT_CODE_INVALID = "error.SystemInformation.salesTaxObjectCodeInvalid";
118        public static final String ERROR_CLEARING_ACCOUNT_INACTIVE = "error.SystemInformation.clearingAccountInactive";
119        public static final String ERROR_WIRE_ACCOUNT_INACTIVE = "error.SystemInformation.wireAccountInactive";
120        public static final String ERROR_LOCKBOX_NUMBER_NOT_UNIQUE = "error.SystemInformation.lockboxNumberNotUnique";
121    }
122
123    // Invoice Item Code errors
124    public static final class InvoiceItemCode {
125        public static final String NONPOSITIVE_ITEM_DEFAULT_PRICE = "error.invoiceItemCode.nonPositiveNumericValue";
126        public static final String NONPOSITIVE_ITEM_DEFAULT_QUANTITY = "error.invoiceItemCode.nonPositiveNumericValue";
127        public static final String ORG_OPTIONS_DOES_NOT_EXIST_FOR_CHART_AND_ORG = "error.invoiceItemCode.orgOptionsDoesNotExistForChartAndOrg";
128        public static final String ERROR_INVALID_CHART_OF_ACCOUNTS_CODE = "error.invoiceItemCode.errorInvalidChartOfAccountsCode";
129        public static final String ERROR_INVALID_ORGANIZATION_CODE = "error.invoiceItemCode.errorInvalidOrganizationCode";
130    }
131
132    // Customer Type errors
133    public static class CustomerTypeConstants {
134        public static final String ERROR_CUSTOMER_TYPE_DUPLICATE_VALUE = "error.document.customerType.duplicateValue";
135    }
136
137    // Customer Load messages
138    public static final class CustomerLoad {
139        public static final String MESSAGE_BATCH_UPLOAD_XML_TITLE_CUSTOMER = "message.ar.customerLoad.batchUpload.xml.title";
140        public static final String MESSAGE_BATCH_UPLOAD_CSV_TITLE_CUSTOMER = "message.ar.customerLoad.batchUpload.csv.title";
141    }
142
143    // Customer errors
144    public static class CustomerConstants {
145        public static final String MESSAGE_CUSTOMER_WITH_SAME_NAME_EXISTS = "message.document.customerMaintenance.customerWithSameNameExists";
146        public static final String GENERATE_CUSTOMER_QUESTION_ID = "GenerateCustomerQuestionID";
147        public static final String ERROR_AT_LEAST_ONE_ADDRESS = "error.document.customer.addressRequired";
148        public static final String ERROR_ONLY_ONE_PRIMARY_ADDRESS = "error.document.customer.oneAndOnlyOnePrimaryAddressRequired";
149        public static final String ERROR_CUSTOMER_NAME_LESS_THAN_THREE_CHARACTERS = "error.document.customer.customerNameLessThanThreeCharacters";
150        public static final String ERROR_CUSTOMER_NAME_NO_SPACES_IN_FIRST_THREE_CHARACTERS = "error.document.customer.customerNameNoSpacesInFirstThreeCharacters";
151        public static final String CUSTOMER_ADDRESS_TYPE_CODE_PRIMARY = "P";
152        public static final String CUSTOMER_ADDRESS_TYPE_CODE_ALTERNATE = "A";
153        public static final String CUSTOMER_ADDRESS_TYPE_CODE_US = "US";
154        public static final String ERROR_CUSTOMER_ADDRESS_STATE_CODE_REQUIRED_WHEN_COUNTTRY_US = "error.document.customer.stateCodeIsRequiredWhenCountryUS";
155        public static final String ERROR_CUSTOMER_ADDRESS_ZIP_CODE_REQUIRED_WHEN_COUNTTRY_US = "error.document.customer.zipCodeIsRequiredWhenCountryUS";
156        public static final String ERROR_CUSTOMER_ADDRESS_INTERNATIONAL_PROVINCE_NAME_REQUIRED_WHEN_COUNTTRY_NON_US = "error.document.customer.addressInternationalProvinceNameIsRequiredWhenCountryNonUS";
157        public static final String ERROR_CUSTOMER_ADDRESS_INTERNATIONAL_MAIL_CODE_REQUIRED_WHEN_COUNTTRY_NON_US = "error.document.customer.internationalMailCodeIsRequiredWhenCountryNonUS";
158        public static final String ERROR_TAX_NUMBER_IS_REQUIRED = "error.document.customer.taxNumberRequired";
159        public static final String ACTIONS_REPORT = "report";
160        public static final String ERROR_CUSTOMER_ADDRESS_END_DATE_MUST_BE_FUTURE_DATE = "error.document.customer.endDateMustBeFutureDate";
161        public static final String ERROR_CUSTOMER_ADDRESS_END_DATE_MUST_BE_CURRENT_OR_FUTURE_DATE = "error.document.customer.endDateMustBeCurrenOrFutureDate";
162        public static final String ERROR_CUSTOMER_PRIMARY_ADDRESS_MUST_HAVE_FUTURE_END_DATE = "error.document.customer.primaryAddressMustHaveFutureEndDate";
163    }
164
165    // Customer Credit Memo errors/warnings:
166    public static final String ERROR_CUSTOMER_CREDIT_MEMO_DETAIL_INVALID_DATA_INPUT = "error.document.customerCreditMemoDocument.invalidDataInput";
167    public static final String ERROR_CUSTOMER_CREDIT_MEMO_DETAIL_ITEM_QUANTITY_LESS_THAN_OR_EQUAL_TO_ZERO = "error.document.customerCreditMemoDocument.invalidCustomerCreditMemoItemQuantity";
168    public static final String ERROR_CUSTOMER_CREDIT_MEMO_DETAIL_ITEM_AMOUNT_LESS_THAN_OR_EQUAL_TO_ZERO = "error.document.customerCreditMemoDocument.invalidCustomerCreditMemoItemAmount";
169    public static final String ERROR_CUSTOMER_CREDIT_MEMO_DETAIL_ITEM_QUANTITY_GREATER_THAN_INVOICE_ITEM_QUANTITY = "error.document.customerCreditMemoDocument.itemQuantityGreaterThanParentItemQuantity";
170    public static final String ERROR_CUSTOMER_CREDIT_MEMO_DETAIL_ITEM_AMOUNT_GREATER_THAN_INVOICE_ITEM_AMOUNT = "error.document.customerCreditMemoDocument.itemAmountGreaterThanParentItemAmount";
171    public static final String ERROR_CUSTOMER_CREDIT_MEMO_DOCUMENT_INVALID_INVOICE_DOCUMENT_NUMBER = "error.document.customerCreditMemoDocument.invalidInvoiceDocumentNumber";
172    public static final String ERROR_CUSTOMER_CREDIT_MEMO_DOCUMENT_ONE_CRM_IN_ROUTE_PER_INVOICE = "error.document.customerCreditMemoDocument.onlyOneCRMInRoutePerInvoice";
173    public static final String ERROR_CUSTOMER_CREDIT_MEMO_DOCUMENT__INVOICE_DOCUMENT_NUMBER_IS_REQUIRED = "error.document.customerCreditMemoDocument.invRefNumberIsRequired";
174    public static final String WARNING_CUSTOMER_CREDIT_MEMO_DOCUMENT_INVOICE_HAS_DISCOUNT = "warning.documnet.customerCreditMemoDocument.invoiceHasAppliedDiscount";
175    public static final String ERROR_CUSTOMER_CREDIT_MEMO_DOCUMENT_NO_DATA_TO_SUBMIT = "error.document.customerCreditMemoDocument.noDataToSubmit";
176    public static final String ERROR_CUSTOMER_CREDIT_MEMO_DOCUMENT_CORRECTED_INVOICE = "error.document.customerCreditMemoDocument.invoiceHasBeenCorrected";
177    public static final String ERROR_CUSTOMER_CREDIT_MEMO_DOCUMENT_CORRECTING_INVOICE = "error.document.customerCreditMemoDocument.invoiceCorrectsAnotherInvoice";
178
179    public static final String ERROR_CUSTOMER_INVOICE_DOCUMENT_NOT_FINAL = "error.document.customerInvoiceDocument.notFinal";
180
181    // Cash Control Document errors
182    public static final String ERROR_REFERENCE_DOC_NUMBER_CANNOT_BE_NULL_FOR_PAYMENT_MEDIUM_CASH = "error.ar.ReferenceDocNumberCannotBeNullforPaymentMediumCash";
183    public static final String ERROR_REFERENCE_DOC_NUMBER_MUST_BE_VALID_FOR_PAYMENT_MEDIUM_CASH = "error.ar.ReferenceDocNumberMustBeValidforPaymentMediumCash";
184    public static final String ERROR_ORGANIZATION_OPTIONS_MUST_BE_SET_FOR_USER_ORG = "error.ar.OrganizationOptionsMustBeSet";
185    public static final String ERROR_SYSTEM_INFORMATION_MUST_BE_SET_FOR_USER_ORG = "error.ar.SystemInformationMustBeSet";
186    public static final String ERROR_PAYMENT_MEDIUM_IS_NOT_VALID = "error.ar.CustomerPaymentMediumIsNotValid";
187    public static final String ERROR_ALL_APPLICATION_DOCS_MUST_BE_APPROVED = "error.ar.AllApplicationDocumentsMustBeApproved";
188    public static final String ERROR_DELETE_ADD_APP_DOCS_NOT_ALLOWED_AFTER_GLPES_GEN = "error.ar.DeleteAddApplicationDocNotAllowedAfterGLPEsGenerated";
189    public static final String ERROR_NO_LINES_TO_PROCESS = "error.ar.NoLinesToProcess";
190    public static final String ERROR_LINE_AMOUNT_CANNOT_BE_ZERO = "error.ar.LineAmountCannotBeZero";
191    public static final String ERROR_LINE_AMOUNT_CANNOT_BE_NEGATIVE = "error.ar.LineAmountCannotBeNegative";
192    public static final String ERROR_GLPES_NOT_CREATED = "error.ar.GLPEsNotCreated";
193    public static final String ERROR_CUSTOMER_NUMBER_IS_NOT_VALID = "error.ar.CustomerNumberIsNotValid";
194    public static final String ERROR_CUSTOMER_IS_INACTIVE = "error.ar.CustomerIsInactive";
195    public static final String ERROR_CANT_CANCEL_CASH_CONTROL_DOC_WITH_ASSOCIATED_APPROVED_PAYMENT_APPLICATION = "error.ar.CantCancelCashControlDocWithAssociatedApprovedPaymentApplicationDoc";
196    public static final String ERROR_INVALID_BANK_CODE = "error.ar.invalidBankCode";
197    public static final String ERROR_BANK_NOT_ELIGIBLE_FOR_DEPOSIT_ACTIVITY = "error.ar.bankNotEligibleForDepositActivity";
198    public static final String ERROR_BANK_CODE_REQUIRED = "error.ar.bankCodeRequired";
199    public static final String CASH_CTRL_DOC_CREATED_BY_BATCH = "message.ar.cashControlDocCreatedByLOC";
200    public static final String CREATED_BY_CASH_CTRL_DOC = "message.ar.createdByCashControlDocument";
201    public static final String DOCUMENT_DELETED_FROM_CASH_CTRL_DOC = "message.ar.documentDeletedFromCashControl";
202    public static final String ELECTRONIC_PAYMENT_CLAIM = "message.ar.electronicPaymentClaim";
203    public static final String ERROR_CASH_CTRL_DTL_TO_REVERSE_NOT_SELECTED = "error.ar.cashControlDocToReverseNotSelected";
204
205    // Customer Invoice Writeoff Document errors
206    public static final String ERROR_CUSTOMER_INVOICE_WRITEOFF_CHART_WRITEOFF_OBJECT_DOESNT_EXIST = "error.document.customerInvoiceWriteoff.chartWriteoffObjectDoesntExist";
207    public static final String ERROR_CUSTOMER_INVOICE_WRITEOFF_FAU_MUST_EXIST = "error.document.customerInvoiceWriteoff.writeoffFAUMustExist";
208    public static final String ERROR_CUSTOMER_INVOICE_WRITEOFF_FAU_CHART_MUST_EXIST = "error.document.customerInvoiceWriteoff.chartWriteoffFAUChartMustExist";
209    public static final String ERROR_CUSTOMER_INVOICE_WRITEOFF_FAU_ACCOUNT_MUST_EXIST = "error.document.customerInvoiceWriteoff.chartWriteoffFAUAccountMustExist";
210    public static final String ERROR_CUSTOMER_INVOICE_WRITEOFF_FAU_OBJECT_CODE_MUST_EXIST = "error.document.customerInvoiceWriteoff.chartWriteoffFAUObjectMustExist";
211    public static final String ERROR_CUSTOMER_INVOICE_WRITEOFF_INVOICE_HAS_CREDIT_BALANCE = "error.document.customerInvoiceWriteoff.invoiceHasCreditBalance";
212    public static final String ERROR_CUSTOMER_INVOICE_WRITEOFF_INVALID_EXPLANATION = "error.document.customerInvoiceWriteoff.invalidExplanation";
213    public static final String ERROR_CUSTOMER_INVOICE_WRITEOFF_EMPTY_EXPLANATION = "error.document.customerInvoiceWriteoff.emptyExplanation";
214    public static final String ERROR_CUSTOMER_INVOICE_WRITEOFF_NO_INVOICES_SELECTED = "error.document.customerInvoiceWriteoff.noInvoicesSelected";
215    public static final String ERROR_CUSTOMER_INVOICE_WRITEOFF_BATCH_SENT = "error.document.customerInvoiceWriteoff.batchSent";
216    public static final String ERROR_CUSTOMER_INVOICE_WRITEOFF_CUSTOMER_NOTE_REQUIRED = "error.document.customerInvoiceWriteoff.emptyCustomerNote";
217    public static final String ERROR_CUSTOMER_INVOICE_WRITEOFF_CUSTOMER_NOTE_INVALID = "error.document.customerInvoiceWriteoff.invalidCustomerNote";
218    public static final String ERROR_CUSTOMER_INVOICE_WRITEOFF_ONE_WRITEOFF_IN_ROUTE_PER_INVOICE = "error.document.customerInvoiceWriteoff.onlyOneWriteoffInRoutePerInvoice";
219    public static final String ERROR_CUSTOMER_INVOICE_WRITEOFF_INVOICE_NOT_FINAL = "error.document.customerInvoiceWriteoff.invoiceNotFinal";
220
221
222    // Organization Options errors
223    public static class OrganizationOptionsErrors {
224        public static final String SYS_INFO_DOES_NOT_EXIST_FOR_PROCESSING_CHART_AND_ORG = "error.document.organizationOptions.sysInfoDoesNotExistForProcessingChartAndOrg";
225        public static final String ERROR_ORG_OPTIONS_ZIP_CODE_REQUIRED = "error.document.organizationOptions.orgOptionsZipCodeRequired";
226    }
227
228    public static class PaymentApplicationDocumentErrors {
229        public static final String AMOUNT_TO_BE_APPLIED_CANNOT_BE_ZERO = "error.document.paymentApplication.amountToBeAppliedCannotBeZero";
230        public static final String AMOUNT_TO_BE_APPLIED_EXCEEDS_AMOUNT_OUTSTANDING = "error.document.paymentApplication.amountToBeAppliedExceedsAmountOutstanding";
231        public static final String AMOUNT_TO_BE_APPLIED_MUST_BE_GREATER_THAN_ZERO = "error.document.paymentApplication.amountToBeAppliedCannotBeZero";
232        public static final String FULL_AMOUNT_NOT_APPLIED = "error.document.paymentApplication.fullAmountNotApplied";
233        public static final String AMOUNT_TO_BE_APPLIED_EXCEEDS_OPEN_INVOICE_DETAIL_AMOUNT = "error.document.paymentApplication.amountToBeAppliedExceedsOpenInvoiceDetailAmount";
234        public static final String AMOUNT_TO_BE_APPLIED_MUST_BE_POSTIIVE = "error.document.paymentApplication.amountToBeAppliedMustBePositive";
235        public static final String NON_AR_CHART_REQUIRED = "error.document.paymentApplication.nonArLineChartRequired";
236        public static final String NON_AR_ACCOUNT_REQUIRED = "error.document.paymentApplication.nonArLineAccountRequired";
237        public static final String NON_AR_OBJECT_CODE_REQUIRED = "error.document.paymentApplication.nonArLineObjectCodeRequired";
238        public static final String NON_AR_CHART_INVALID = "error.document.paymentApplication.nonArLineChartInvalid";
239        public static final String NON_AR_ACCOUNT_INVALID = "error.document.paymentApplication.nonArLineAccountInvalid";
240        public static final String NON_AR_SUB_ACCOUNT_INVALID = "error.document.paymentApplication.nonArLineSubAccountInvalid";
241        public static final String NON_AR_OBJECT_CODE_INVALID = "error.document.paymentApplication.nonArLineObjectCodeInvalid";
242        public static final String NON_AR_SUB_OBJECT_CODE_INVALID = "error.document.paymentApplication.nonArLineSubObjectCodeInvalid";
243        public static final String NON_AR_PROJECT_CODE_INVALID = "error.document.paymentApplication.nonArLineProjectCodeInvalid";
244        public static final String NON_AR_AMOUNT_REQUIRED = "error.document.paymentApplication.nonArLineAmountRequired";
245        public static final String NON_AR_AMOUNT_MUST_BE_POSITIVE = "error.document.paymentApplication.nonArLineAmountMustBePositive";
246        public static final String CANNOT_APPLY_MORE_THAN_CASH_CONTROL_TOTAL_AMOUNT = "error.document.paymentApplication.quickAppliedExceedsCashControlTotalAmount";
247        public static final String INVOICE_DETAIL_CANNOT_APPLY_MORE_THAN_CONTROL_TOTAL_AMOUNT = "error.document.paymentApplication.detailAppliedExceedsCashControlTotalAmount";
248        public static final String CANNOT_APPLY_MORE_THAN_BALANCE_TO_BE_APPLIED = "error.document.paymentApplication.AppliedAmountExceedsBalanceToBeApplied";
249        public static final String UNAPPLIED_AMOUNT_CANNOT_EXCEED_AVAILABLE_AMOUNT = "error.document.paymentApplication.unappliedAmountCannotExceedAvailableAmount";
250        public static final String UNAPPLIED_AMOUNT_CANNOT_EXCEED_BALANCE_TO_BE_APPLIED = "error.document.paymentApplication.unappliedAmountCannotExceedBalanceToBeApplied";
251        public static final String UNAPPLIED_AMOUNT_CANNOT_BE_EMPTY_OR_ZERO = "error.document.paymentApplication.unappliedAmountCannotBeEmptyOrZero";
252        public static final String UNAPPLIED_AMOUNT_CANNOT_BE_NEGATIVE = "error.document.paymentApplication.unappliedAmountCannotBeNegative";
253        public static final String UNAPPLIED_CUSTOMER_NUMBER_CANNOT_BE_LEFT_BLANK = "error.document.paymentApplication.unappliedCustomerNumberCannotBeBlank";
254        public static final String NON_AR_AMOUNT_EXCEEDS_SELECTED_INVOICE_BALANCE = "error.document.paymentApplication.nonArLineAmountExceedsInvoiceBalance";
255        public static final String NON_AR_AMOUNT_EXCEEDS_BALANCE_TO_BE_APPLIED = "error.document.paymentApplication.nonArLineAmountExceedsBalanceToBeApplied";
256        public static final String NON_INVOICED_CHART_IS_REQUIRED = "error.document.paymentApplication.nonInvoicedChartRequired=Chart is required on non-ar lines.";
257        public static final String NON_INVOICED_ACCOUNT_IS_REQUIRED = "error.document.paymentApplication.nonInvoicedAccountRequired=Account is required on non-ar lines.";
258        public static final String NON_INVOICED_FINANCIAL_OBJECT_IS_REQUIRED = "error.document.paymentApplication.nonInvoicedFinancialObjectRequired=Object code is required on non-ar lines.";
259        public static final String CANNOT_QUICK_APPLY_ON_INVOICE_WITH_ZERO_OPEN_AMOUNT = "error.document.paymentApplication.cannotQuickApplyOnInvoiceWithZeroOpenAmount";
260        public static final String ENTERED_INVOICE_CUSTOMER_NUMBER_INVALID = "error.document.paymentApplication.enteredInvoiceCustomerNumberInvalid";
261        public static final String ENTERED_INVOICE_NUMBER_INVALID = "error.document.paymentApplication.enteredInvoiceNumberInvalid";
262        public static final String ERROR_DOCUMENT_PAYMENT_APPLICATION_MISSING_SYSTEM_INFORMATION = "error.document.paymentApplication.missing.system.information";
263    }
264
265    public static class ContractsGrantsCollectionActivityDocumentErrors {
266        public static final String ERROR_FOLLOW_UP_DATE_REQUIRED = "error.contractsGrantsCollectionActivity.followupDateRequired";
267        public static final String ERROR_COMPLETED_DATE_REQUIRED = "error.contractsGrantsCollectionActivity.completedDateRequired";
268        public static final String ERROR_INVOICE_REQUIRED = "error.contractsGrantsCollectionActivity.invoiceRequired";
269    }
270
271    public static class ContractsGrantsCollectionActivityDocumentConstants {
272        public static final String ENTERED_INVOICE_CUSTOMER_NUMBER_INVALID = "error.document.paymentApplication.enteredInvoiceCustomerNumberInvalid";
273        public static final String TITLE_PROPERTY = "message.inquiry.contractsGrantsCollectionActivity.title";
274        public static final String CREATED_BY_DOC = "message.ar.createdByCollectionActivityDocument";
275    }
276
277    // Contracts & Grants Invoice constants and errors
278    public static class ContractsGrantsInvoiceConstants {
279        public static final String MESSAGE_CONTRACTS_GRANTS_INVOICE_BATCH_SENT = "message.document.contractsGrantsInvoice.batchSent";
280        public static final String ERROR_NO_AWARDS_RETRIEVED = "error.document.no.awards.retrieved";
281        public static final String ERROR_AWARDS_INVALID = "error.document.awards.invalid";
282        public static final String ERROR_SOME_AWARDS_INVALID = "error.document.some.awards.invalid";
283        public static final String ERROR_TOTAL_AMOUNT_LESS_THAN_OR_EQUAL_TO_ZERO = "error.total.amount.less.than.equal.to.zero";
284        public static final String ERROR_DOCUMENT_GLPE_GENERATION_FAILED = "error.document.glpe.generation.failed";
285        public static final String ERROR_DOCUMENT_AMOUNT_TO_DRAW_INVALID = "error.document.amount.to.draw.invalid";
286        public static final String ERROR_EMAIL_ADDRESS_REQUIRED_FOR_TRANSMISSION_CODE = "error.document.contractsGrantsInvoice.email.address.required";
287        public static final String ERROR_TRANSMISSION_CODE_REQUIRED = "error.document.contractsGrantsInvoice.transmission.code.required";
288        public static final String ERROR_TEMPLATE_REQUIRED = "error.document.contractsGrantsInvoice.template.code.required";
289        public static final String ERROR_INVOICE_DETAIL_ACCOUNT_OBJECT_CODE_FINANCIAL_OBJECT_CODE_REQUIRED = "error.document.contractsGrantsInvoice.invoiceDetailAccountObjectCode.financialObjectCode.required";
290    }
291
292    // contracts & grants invoice create document constants
293    public static class ContractsGrantsInvoiceCreateDocumentConstants {
294        public static final String NO_ORGANIZATION_ON_AWARD = "error.invoice.create.document.no.organization.on.award";
295        public static final String NON_BILLABLE = "error.invoice.create.document.non.billable";
296        public static final String NO_CONTROL_ACCOUNT = "error.invoice.create.document.no.control.account";
297        public static final String CONTROL_ACCOUNT_NON_BILLABLE = "error.invoice.create.document.control.account.non.billable";
298        public static final String BILL_BY_CONTRACT_LACKS_CONTROL_ACCOUNT = "error.invoice.create.document.bill.by.contract.control.no.control.account";
299        public static final String BILL_BY_CONTRACT_VALID_ACCOUNTS = "error.invoice.create.document.bill.by.contract.control.no.accounts";
300        public static final String DIFFERING_CONTROL_ACCOUNTS = "error.invoice.create.document.different.control.accounts";
301        public static final String NOT_ALL_BILLABLE_ACCOUNTS = "error.invoice.create.document.not.all.billable.accounts";
302        public static final String NO_AWARD = "error.invoice.create.document.no.award";
303        public static final String NO_CHART_OR_ORG = "error.invoice.create.document.no.chart.or.org";
304    }
305
306    public static final String ERROR_FILE_UPLOAD_NO_PDF_FILE_SELECTED_FOR_SAVE = "error.fileUpload.save.noPdfFileSelected";
307
308    // Collection Activity Type errors
309    public static class CollectionActivityTypeConstants {
310        public static final String ERROR_COLLECTION_ACTIVITY_TYPE_DUPLICATE_VALUE = "error.document.collectionActivityType.duplicateValue";
311    }
312
313    public static class DunningCampaignConstantsAndErrors {
314        public static final String MESSAGE_DUNNING_CAMPAIGN_BATCH_NOT_SENT = "message.document.dunningCampaign.batchNotSent";
315
316    }
317
318    public static class DunningLetterDistributionErrors {
319        public static final String ERROR_DAYS_PAST_DUE_DUPLICATE = "error.document.daysPastDue.duplicateValue";
320        public static final String ERROR_BILLING_CHART_CODE_REQUIRED = "error.document.billingChartCode.required";
321        public static final String ERROR_BILLING_ORGANIZATION_CODE_REQUIRED = "error.document.billingOrganizationCode.required";
322        public static final String ERROR_PROCESSING_CHART_CODE_REQUIRED = "error.document.processingChartCode.required";
323        public static final String ERROR_PROCESSING_ORGANIZATION_CODE_REQUIRED = "error.document.processingOrganizationCode.required";
324    }
325
326    public static class CollectionHierarchyDocumentErrors {
327        public static final String ERROR_COLLINFO_SAME_AS_COLLHEAD = "error.document.collectorInformations.sameAsCollectorHead";
328        public static final String ERROR_DUPLICATE_COLL_INFO = "error.document.collectorInformations.duplicate";
329    }
330
331    public static final class LockboxLoad {
332
333        public static final String ERROR_LOCKBOX_INVALID_FIRST_RECORD = "error.lockbox.invalid.first.record";
334        public static final String ERROR_LOCKBOX_INVALID_HDR_TRANS_BATCH_TOT = "error.lockbox.invalid.hdr.trans.batch.tot";
335        public static final String ERROR_LOCKBOX_INVALID_HDR_TRANS_BATCH_CNT = "error.lockbox.invalid.hdr.trans.batch.cnt";
336        public static final String ERROR_LOCKBOX_NON_NUMERIC_INVOICE_AMOUNT = "error.lockbox.non.numeric.invoice.amount";
337        public static final String ERROR_LOCKBOX_NON_NUMERIC_INVOICE_PAID_AMOUNT = "error.lockbox.non.numeric.invoice.paid.amount";
338        public static final String MESSAGE_BATCH_UPLOAD_TITLE_LOCKBOX = "message.batchUpload.title.lockboxLoad";
339    }
340
341     public static class ContractsGrantsCategoryConstants {
342         public static final String ERROR_ANY_ONE_REQUIRED = "error.any.one.required";
343     }
344
345     public static final String MESSAGE_CG_UPCOMING_MILESTONES_EMAIL_LINE_1 = "message.cg.upcoming.milestones.email.line1";
346     public static final String MESSAGE_CG_UPCOMING_MILESTONES_EMAIL_LINE_2 = "message.cg.upcoming.milestones.email.line2";
347
348     // Kim Type Services error messages
349     public static final String ERROR_BILLINGCHART_OR_BILLINGORG_NOTEMPTY_ALL_REQUIRED = "error.billingchart.or.billingorg.notempty.all.required";
350     public static final String ERROR_EITHER_BILLINGCHART_OR_PROCESSCHART_REQUIRED_NOT_BOTH = "error.either.billingchart.or.processchart.required.not.both";
351     public static final String ERROR_PROCESSCHART_OR_PROCESSORG_NOTEMPTY_ALL_REQUIRED = "error.processchart.or.processorg.notempty.all.required";
352     public static final String ERROR_STARTLETTER_AFTER_ENDLETTER = "error.startletter.after.endletter";
353     public static final String ERROR_STARTLETTER_OR_ENDLETTER_NOTEMPTY_ALL_REQUIRED = "error.startletter.or.endletter.notempty.all.required";
354
355     // Award Constants and errors
356     public static class AwardConstants {
357         public static final String ERROR_NO_CTRL_ACCT = "error.cg.no.control.account";
358         public static final String ERROR_MULTIPLE_CTRL_ACCT = "error.cg.multiple.control.account";
359     }
360
361     public static final String ERROR_AWARD_MILESTONE_SCHEDULE_EXISTS = "error.cg.award.milestone.schedule.exists";
362     public static final String ERROR_AWARD_MILESTONE_SCHEDULE_INCORRECT_BILLING_FREQUENCY = "error.cg.award.milestone.schedule.incorrect.billing.frequency";
363     public static final String ERROR_AWARD_PREDETERMINED_BILLING_SCHEDULE_EXISTS = "error.cg.award.predetermined.billing.schedule.exists";
364     public static final String ERROR_AWARD_PREDETERMINED_BILLING_SCHEDULE_INCORRECT_BILLING_FREQUENCY = "error.cg.award.predetermined.billing.schedule.incorrect.billing.frequency";
365     public static final String ERROR_DUPLICATE_BILL_NUMBER = "error.duplicate.bill.number";
366     public static final String ERROR_DUPLICATE_MILESTONE_NUMBER = "error.duplicate.milestone.number";
367
368     public static final String ERROR_REPORT_INVALID_CALCULATED_PATTERN = "error.report.invalid.calculated.pattern";
369
370     public static class TemplateUploadErrors {
371         public static final String ERROR_TEMPLATE_UPLOAD_NO_TEMPLATE = "error.template.upload.no.template";
372         public static final String ERROR_TEMPLATE_UPLOAD_NO_TEMPLATE_TYPE = "error.template.upload.no.template.type";
373         public static final String ERROR_TEMPLATE_UPLOAD_USER_NOT_AUTHORIZED = "error.template.upload.user.not.authorized";
374         public static final String ERROR_TEMPLATE_UPLOAD_TEMPLATE_NOT_AVAILABLE = "error.template.upload.template.not.available";
375         public static final String ERROR_TEMPLATE_UPLOAD_INVALID_FILE_TYPE = "error.template.upload.invalid.file.type";
376     }
377
378     // messages for Transmit Contracts & Grants Invoices
379     public static final String NO_DELIVERY_TYPE_SELECTED = "error.no.delivery.type.selected";
380     public static final String NO_PRINCIPAL_NAME_FOUND = "error.no.principal.name.found";
381     public static final String NO_MATCHING_INVOICE = "error.no.matching.invoice";
382     public static final String INVOICE_EMAILS_SENT = "message.invoice.emails.sent";
383     public static final String ERROR_SENDING_INVOICE_EMAILS = "error.sending.invoice.emails";
384     public static final String INVOICES_PRINT_SUCCESSFULL = "message.invoices.print.successfull";
385     public static final String INVOICES_PRINT_UNSUCCESSFULL = "error.invoices.print.unsuccessful";
386
387     public static final String CONTRACTS_REPORTS_AGING_REPORT_TITLE = "contracts.grants.aging.report.title";
388
389     public static final String CGINVOICE_EMAIL_SUBJECT = "cginvoice.email.subject";
390     public static final String CGINVOICE_EMAIL_BODY = "cginvoice.email.body";
391
392     // messages for LOC pdf
393     public static final String LOC_REVIEW_PDF_TITLE = "locreview.pdf.title";
394     public static final String LOC_REVIEW_PDF_HEADER_FUND_GROUP_CODE = "locreview.pdf.header.fund.group.code";
395     public static final String LOC_REVIEW_PDF_HEADER_FUND_CODE = "locreview.pdf.header.fund.code";
396     public static final String LOC_REVIEW_PDF_HEADER_DOCUMENT_NUMBER = "locreview.pdf.header.document.number";
397     public static final String LOC_REVIEW_PDF_HEADER_APP_DOC_STATUS = "locreview.pdf.header.application.document.status";
398     public static final String LOC_REVIEW_PDF_HEADER_DOCUMENT_INITIATOR = "locreview.pdf.header.initiator.principal.name";
399     public static final String LOC_REVIEW_PDF_HEADER_DOCUMENT_CREATE_DATE = "locreview.pdf.header.create.date";
400     public static final String LOC_REVIEW_PDF_SUBHEADER_AWARDS = "locreview.pdf.subheader.awards";
401
402     public static final String LOC_REVIEW_CREATION_TYPE = "message.locreview.creation.type";
403
404     public static final String ERROR_LOC_REVIEW_FUND_OR_FUND_GROUP_REQUIRED = "error.locreview.fund.or.fund.group.required";
405     public static final String ERROR_LOC_REVIEW_ONLY_ONE_FUND_OR_FUND_GROUP = "error.locreview.only.one.fund.or.fund.group";
406
407     // Final Billed Indicator Validation error messages
408     public static final String ERROR_FINAL_BILLED_INDICATOR_INVOICE_NOT_FINAL = "error.final.billed.indicator.invoice.not.final";
409     public static final String ERROR_FINAL_BILLED_INDICATOR_INVOICE_NOT_MARKED_FINAL_BILL = "error.final.billed.indicator.invoice.not.marked.final.bill";
410     public static final String ERROR_FINAL_BILLED_INDICATOR_INVALID_INVOICE = "error.final.billed.indicator.invalid.invoice";
411     public static final String ERROR_FINAL_BILLED_INDICATOR_NO_INVOICE = "error.final.billed.indicator.no.invoice";
412
413     public static final String INVOICE_ADDRESS_PDF_WATERMARK_COPY = "invoice.address.pdf.copy.watermark";
414     public static final String INVOICE_ADDRESS_PDF_WATERMARK_FINAL = "invoice.address.pdf.final.watermark";
415     public static final String INVOICE_ADDRESS_PDF_COPY_FILENAME_SUFFIX = "invoice.address.pdf.copy.filename.suffix";
416     public static final String INVOICE_ADDRESS_PDF_FINAL_NOTE = "invoice.address.pdf.final.note";
417     public static final String INVOICE_ADDRESS_PDF_COPY_NOTE = "invoice.address.pdf.copy.note";
418
419     public static final String CONTRACTS_GRANTS_INVOICE_DETAILS_INDIRECT_SUBTOTAL_LABEL = "contracts.grants.invoice.details.indirect.subtotal.label";
420     public static final String CONTRACTS_GRANTS_INVOICE_DETAILS_DIRECT_SUBTOTAL_LABEL = "contracts.grants.invoice.details.direct.subtotal.label";
421     public static final String CONTRACTS_GRANTS_INVOICE_DETAILS_TOTAL_LABEL = "contracts.grants.invoice.details.total.label";
422
423     // Suspension Category Description Prefix
424     public static final String INVOICE_DOCUMENT_SUSPENSION_CATEGORY = "invoice.document.suspension.category.";
425
426     public static final String WARNING_SUSPENSION_CATEGORIES_PRESENT = "warning.suspension.categories.present";
427
428     public static final String ERROR_DOCUMENT_COST_CATEGORY_NO_DETAILS = "error.document.cost.category.no.details";
429     public static final String ERROR_DOCUMENT_COST_CATEGORY_OBJECT_CODE_NOT_UNIQUE = "error.document.cost.category.object.code.not.unique";
430     public static final String ERROR_DOCUMENT_COST_CATEGORY_OBJECT_LEVEL_NOT_UNIQUE = "error.document.cost.category.object.level.not.unique";
431     public static final String ERROR_DOCUMENT_COST_CATEGORY_OBJECT_CONSOLIDATION_NOT_UNIQUE= "error.document.cost.category.object.consolidation.not.unique";
432
433     public static final String ERROR_DOCUMENT_COLLECTION_ACTIVITY_NO_INVOICE_SELECTED = "error.document.collectionActvity.noInvoiceSelected";
434
435}