Package COM.INFORMATIMAGO.COMMON-LISP.INVOICE.INVOICE


This package exports classes and functions used for accounting:
invoices, customers/providers, movements, taxes...


License:

    AGPL3
    
    Copyright Pascal J. Bourguignon 1990 - 2012
    
    This program is free software: you can redistribute it and/or modify
    it under the terms of the GNU Affero General Public License as published by
    the Free Software Foundation, either version 3 of the License, or
    (at your option) any later version.
    
    This program is distributed in the hope that it will be useful,
    but WITHOUT ANY WARRANTY; without even the implied warranty of
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
    GNU Affero General Public License for more details.
    
    You should have received a copy of the GNU Affero General Public License
    along with this program.
    If not, see <http://www.gnu.org/licenses/>

*currency-readtable*
variable
The readtable used to read currencies.
Initial value: #<READTABLE #x3020014CC5AD>
*invoice-set*
variable
Current Invoice Set (instance of INVOICE-SET).
Initial value: NIL
*journal*
variable
Current Journal (instance of JOURNAL).
Initial value: NIL
bank-reference
class
A bank account reference.
Class precedence list: BANK-REFERENCE PJB-OBJECT STANDARD-OBJECT T
Class init args: OBJECT-ID BANK-NAME BANK-ADDRESS BRANCH-NAME SWIFT-CODE ACCOUNT-NUMBER BENEFICIARY-NAME
fiscal-person
class
A person (physical or moral) identified by a fiscal identification number.
Class precedence list: FISCAL-PERSON PJB-OBJECT STANDARD-OBJECT T
Class init args: OBJECT-ID FISCAL-ID NAME ADDRESS PHONE FAX WEB EMAIL BANK-REFERENCE LANGUAGE FISC
(generate invoice &key stream verbose language &allow-other-keys)
generic-function
DO:      Generate this invoice into a file in the directory 
         *INVOICE-DIRECTORY-PATH*.
RETURN:  The path to the file generated.
invoice
class
An invoice, either outgoing or incoming.
The amounts of the invoice may be negative when it's a refund.
Class precedence list: INVOICE PJB-OBJECT STANDARD-OBJECT T
Class init args: OBJECT-ID DATE ISSUER-FISCAL-ID INVOICE-NUMBER PAYER-FISCAL-ID TITLE CURRENCY
invoice-line
class
An Invoice Line.
Class precedence list: INVOICE-LINE PJB-OBJECT STANDARD-OBJECT T
Class init args: OBJECT-ID DESCRIPTION CURRENCY AMOUNT-HT VAT-RATE AMOUNT-VAT AMOUNT-TTC
invoice-set
class
This class gather all the data sets about invoices and fiscal persons.
Class precedence list: INVOICE-SET PJB-OBJECT STANDARD-OBJECT T
Class init args: OBJECT-ID FISCAL-ID FISC-FISCAL-IDS PERSONS INVOICES
journal
class
An account journal.
Class precedence list: JOURNAL STANDARD-OBJECT T
Class init args: ENTRIES YEAR TRIMESTRE
(journal-entry date amount-ttc vat-rate nif fac description kind)
macro
DOES:   Add a new journal entry.
        AMOUNT-TTC is the total paid (including VAT) expressed in Euros.
        VAT-RATE is the V.A.T percentage.
(load-journal path &key verbose print)
function
DO:        Load the journal at PATH.
(make-bank-reference &rest args)
macro
RETURN: A new instance of BANK-REFERENCE with the given initargs.
movement
class
An entry in the journal.
A movement with a positive amount is a credit,
while a movement with a negative amount is a debit.
Class precedence list: MOVEMENT PJB-OBJECT STANDARD-OBJECT T
Class init args: OBJECT-ID DATE AMOUNT-TTC AMOUNT-VAT DESCRIPTION KIND INVOICE-FISCAL-ID INVOICE-NUMBERS
(person &rest args)
macro
DO:       Add to the *INVOICE-SET* a new FISCAL-PERSON instance
          created with the give initargs.
pjb-object
class
This is a root class for my classes.
Class precedence list: PJB-OBJECT STANDARD-OBJECT T
Class init args: OBJECT-ID
(trimestre journal)
generic-function
RETURN: The quarter of the journal (1 2 3 or 4).