LedgerSMB::DBObject::Company3pm
Base utility functions for processing customers and vendors.
Usage
This library contains the base utility functions for creating, saving, and retrieving customers and vendors.
Methods
- $company->set_entity_class()
-
This is a stub for a private method that subclasses are expected to overwrite. It will be set to the account class of the entity (1 for vendor, 2 for customer, etc).
- get_by_cc
-
This retrieves the company header information by control code. Leaves the overall account class untouched.
- save()
-
This stores the company record including a credit account in the database.
TODO: Separate company from credit account storage.
- delete_contact
-
required request variables:
contact_class_id: int id of contact class contact: text of contact information
Must include at least one of:
credit_id: int of entity_credit_account.id, preferred value company_id: int of company.id, only used if credit_id not set.
returns true of a record was deleted.
- delete_location
-
Deletes a record from the location side.
Required request variables:
location_id location_class_id
One of:
credit_id (preferred) company_id (as fallback)
Returns true if a record was deleted. False otherwise.
- delete_bank_account
-
Deletes a bank account
Requires:
entity_id bank_account_id
Returns true if a record was deleted, false otherwise.
- get_history
-
Retrieves customer/vendor purchase.
Search Criteria name: search string for company name contact_info: Search string for contact info, can match phone, fax, or email. salesperson: Search string for employee name in the salesperson field notes: Notes search. Not currently implemented meta_number: Exact match for customer/vendor number address_line: Search string for first or second line of address. city: Search string for city name state: Case insensitive, otherwise exact match for state or province zip: leading match for zip/mail code country_id: integer for country id. Exact match tartdate_from: Earliest date for startdate of entity credit account startdate_to: Lates date for entity credit accounts' start date type: either 'i' for invoice, 'o' for orders, 'q' for quotations from_date: Earliest date for the invoice/order to_date: Latest date for the invoice/order
Unless otherwise noted, partial matches are sufficient.
Control variables: inc_open: Include open invoices/orders. If not true, no open invoices are
displayed inc_closed: Include closed invoices/orders. If not true, no closed invoices are
displayed report_type: Either summary or detailreturns a list of rows of the summary report and sets these to @{$self->{history_rows}}
- save_credit
-
This method saves the credit account for the company.
Expected inputs: credit_id (int): (Optional) Id for the account entity_class (int): Class of the account, required (1 = vendor, 2 = customer) entity_id (int): ID of entity to attach to. description (text): Description of account discount (numeric): Early payment discount taxincluded (bool): Whether prices include tax. creditlimit (numeric): Credit limit discount_terms (int): How many days can elapse before the discount lapses too. terms (int): How many days can lapse before the invoice is overdue. meta_number (varchar): Account string identifier for the account. business_id (int): ID for business type. language (varchar): Language code for invoices. pricegroup_id (int): Price group curr (char): Currency identifier, three characters long. startdate (date): Date of the start of the relationship. enddate (date): Date of the end of the relationship. threshold (NUMERIC): How much must be owed before the invoices can be paid. ar_ap_account_id (int): ID of ar/ap account. REQUIRED cash_account_id (int): ID of cash account (Optional) pay_to_name (text): Name to pay to or receive from. taxform_id (int); ID of tax form
- save_location
-
This method saves an address for a company.
Requires the following variables on the object: credit_id location_id location_class (1 = billing, 2 = shipping, 3 = sales) line_one line_two city state (can hold province info) mail_code (zip or postal code) country_code (ID of country)
- get_credit_id
-
This method returns the current credit id from the screen.
Requires entity_id, meta_number, and entity_class be set.
- get_metadata()
-
This retrieves various information vor building the user interface. Among other things, it sets the following properties:
$self->{ar_ap_acc_list} = qw(list of ar or ap accounts)$self->{cash_acc_list} = qw(list of cash accounts)$self->{entity_classes} = qw(list of entity classes)$self->{all_taxes} =qw(list of taxes)
- save_contact
-
Saves a contact. Requires credit_id, contact_class, description, and contact to be set.
Requires the following be set: credit_id or entity_id contact_class description contact old_contact old_contact_class
- save_bank_account
-
Saves a bank account. Requires the following be set: entity_id bic (bank id) iban (account number) remark (remark for the account, optional) bank_account_id (id for record, optional)
- save_notes
-
Saves notes. The following must be set: credit_id: credit account to annotate. Must be set to annotate credit account entity_id: entitity to annotate. note: Note contents subject: Note subject
- search
-
Searches for matching company records. Populates
$self->{search_results} with records found.Search criteria and inputs: account_class: required (1 for vendor, 2 for customer, etc) contact contact_info meta_number address city state mail_code country date_from date_to business_id legal_name control_code
Account class may not be undef. meta_number is an exact match, as is control_code. All others specify ranges or partial matches.
- get_billing_info
-
Requires that the id field is set. Sets the following:
legal_name meta_number control_code tax_id street1 street2 street3 city state mail_code country
- accounts
-
Returns all accounts, and sets these to
$self->{accounts}.id and entity_class must be set.
- address($id)
-
Returns the location if it is specified by the
$idargument.
- get
-
Retrieves a company record and all info.
taxform_list is set to a list of tax forms for the entity's country credit_list is set to a list of credit accounts locations is set to a list of locations contacts to a list of contacts notes to a list of notes bank_account to a list of bank accounts
- get_pricematrix
-
This routine gets the price matrix for the customer or vendor. The pricematrix info is stored in the pricematrix hash entry. If a customer (account_class=1), it also populates a pricematrix_pricegroup entry.
- delete_pricematrix($entry_id)
-
This deletes a pricematrix line identified by
$entry_id
- save_pricematrix
-
Updates or inserts the price matrix.
Releases
2 releases since Debian 7 (Wheezy); the text changed 1 time.