From: <ice...@us...> - 2012-06-24 05:37:00
|
Revision: 5450 http://web-erp.svn.sourceforge.net/web-erp/?rev=5450&view=rev Author: icedlava Date: 2012-06-24 05:36:51 +0000 (Sun, 24 Jun 2012) Log Message: ----------- Adjust header.inc, ManualContents.php, ManualHeader.html to take ViewTopic and Bookmark parameters in displaying manual. Add ManualOutline.php file containing manual TOC, add CSS and rework all manual docs. Add $Viewtopic and $Bookmark to some functions (eg see Stocks.php) - ongoing work. Modified Paths: -------------- trunk/doc/Change.log trunk/doc/Manual/ManualAPITutorial.html trunk/doc/Manual/ManualARInquiries.html trunk/doc/Manual/ManualARReports.html trunk/doc/Manual/ManualARTransactions.html trunk/doc/Manual/ManualAccountsPayable.html trunk/doc/Manual/ManualAccountsReceivable.html trunk/doc/Manual/ManualContents.php trunk/doc/Manual/ManualContracts.html trunk/doc/Manual/ManualContributors.html trunk/doc/Manual/ManualCreatingNewSystem.html trunk/doc/Manual/ManualCreditStatus.html trunk/doc/Manual/ManualCurrencies.html trunk/doc/Manual/ManualDevelopmentStructure.html trunk/doc/Manual/ManualFixedAssets.html trunk/doc/Manual/ManualFooter.html trunk/doc/Manual/ManualGeneralLedger.html trunk/doc/Manual/ManualGettingStarted.html trunk/doc/Manual/ManualHeader.html trunk/doc/Manual/ManualIntroduction.html trunk/doc/Manual/ManualInventory.html trunk/doc/Manual/ManualMRP.html trunk/doc/Manual/ManualManufacturing.html trunk/doc/Manual/ManualMultilanguage.html trunk/doc/Manual/ManualNewScripts.html trunk/doc/Manual/ManualPaymentTerms.html trunk/doc/Manual/ManualPettyCash.html trunk/doc/Manual/ManualPrices.html trunk/doc/Manual/ManualPurchaseOrdering.html trunk/doc/Manual/ManualReportBuilder.html trunk/doc/Manual/ManualRequirements.html trunk/doc/Manual/ManualSalesAnalysis.html trunk/doc/Manual/ManualSalesOrders.html trunk/doc/Manual/ManualSalesPeople.html trunk/doc/Manual/ManualSalesTypes.html trunk/doc/Manual/ManualSecuritySchema.html trunk/doc/Manual/ManualShipments.html trunk/doc/Manual/ManualSpecialUtilities.html trunk/doc/Manual/ManualSystemConventions.html trunk/doc/Manual/ManualTax.html trunk/includes/header.inc Added Paths: ----------- trunk/doc/Manual/ManualOutline.php trunk/doc/Manual/style/ trunk/doc/Manual/style/manual.css Modified: trunk/doc/Change.log =================================================================== --- trunk/doc/Change.log 2012-06-23 22:15:44 UTC (rev 5449) +++ trunk/doc/Change.log 2012-06-24 05:36:51 UTC (rev 5450) @@ -1,5 +1,7 @@ webERP Change Log +24/06/2012: Icedlava: Adjust header.inc, ManualContents.php, ManualHeader.html to take Viewtopic and Bookmark parameters in displaying manual. Add ManualOutline.php file containing manual TOC, add CSS and rework all manual docs. Still to add $Viewtopic and $Bookmark to functions (eg see Stocks.php) + 24/6/2012 Release 4.08.1 22/06/2012 Icedlava: Fixed bug preventing insert of new account section Modified: trunk/doc/Manual/ManualAPITutorial.html =================================================================== --- trunk/doc/Manual/ManualAPITutorial.html 2012-06-23 22:15:44 UTC (rev 5449) +++ trunk/doc/Manual/ManualAPITutorial.html 2012-06-24 05:36:51 UTC (rev 5450) @@ -1,99 +1,92 @@ -<a name="APITutorial"><font size="+3"><b>Application Programming Interface</b></font></a> -<br /><br /> -<font size="+2"><b>webERP API - Getting Started</b></font> -<br /><br /> +<a id="APITutorial"><h1>Application Programming Interface</h1></a> + +<h2>webERP API - Getting Started</h2> +<p> The API is an Application Program Interface, that is intended to expose webERP functionality to external programs. There are currently a number of low level functions it exposes to enable external applications to retrieve webERP data and to update or insert webERP data. -<br /><br /> +</p> The API in webERP uses XML-RPC in particular the phpxmlrpc class from Useful Inc originally developed by Edd Dumbill -<br /><br /> -XML-RPC is a protocl to use XML to make RPC - remote procedure calls. -<br /><br /> -Simply put the XML-RPC call is XML that contains the method of the remote procedure call together with any parameters and their data types and is sent over http as a POST to the XML-RPC server - the server returns an XML payload containing the results of the call. The parameters sent to the methods can contain arrays and associative arrays of data. -<br /><br /> -The clever thing about XML-RPC is that it is the simplest protocol around for doing web-services. The newer and MUCH more complex SOAP - Simple Object Access Protocol - is quite involved and complicated. webERP is founded on the KISS principle. -<br /><br /> -In fact the XML-RPC "Server" in webERP is just the script http://www.yourdomain.com/webERP/api/api_xml-rpc.php -<br /><br /> -There is no daemon background process running continuously to field calls to the "server" it is just a script that is http posted to by the XML-RPC call sending the XML encoded method to be run together with the necessary parameters to the webERP API - the server script runs the API php functions exposed by the xml-rpc methods and returns the XML-RPC response as an XML payload. The phpxmlrpc class does the packaging converting the PHP variables and arrays to the XML required for the XML-RPC call and also has the functions to convert the XML response into something useable in PHP without having to write the XML parsing routines. -<br /><br /> -It is worthwhile reading a how-to on XML-RPC with PHP which explains in more detail what is going on as a primer for the concepts. -<br /><br /> -The beauty of XML-RPC is that the client calling the webERP XML-RPC server and performing native webERP functions can be called from any language (with XML-RPC bindings). I have used Vala, Genie and Python. Python particularly has been very straight forward as it has an xmlrpclib bundled with it. Of course a PHP client is also possible and is demonstrated below. -<br /><br /> -The API help is actually produced by an xml-rpc call to the API using the system.listMethods method (this is a phpxmlrpc method - not a webERP API method). Aother system xml-rpc method of phpxmlrpc class is used to return the details of each method's parameters required. So the help file not only documents each of the API methods it is itself and illustration of how the API can be used!! -<br /><br /> -Below is a simple example of how to use the API. -<br /><br /> -<hr /> -<i> -echo "<html><head>Test webERP API</head><body>"; -<br /><br /> -//the xmlrpc class can output some funny warnings so make sure notices are turned off -error_reporting (E_ALL & ~E_NOTICE); -<br /><br /> -/*you need to include the phpxmlrpc class - see link above - copy the whole directory structure of the class over to your client application from the webERP/xmlrpc directory -*/ -<br /><br /> +</p> +<p>XML-RPC is a protocl to use XML to make RPC - remote procedure calls.</p> +<p> +Simply put the XML-RPC call is XML that contains the method of the remote procedure call together with any parameters and their data types and is sent over http as a POST to the XML-RPC server - the server returns an XML payload containing the results of the call. The parameters sent to the methods can contain arrays and associative arrays of data.</p> +<p> +The clever thing about XML-RPC is that it is the simplest protocol around for doing web-services. The newer and MUCH more complex SOAP - Simple Object Access Protocol - is quite involved and complicated. webERP is founded on the KISS principle.</p> +<p> +In fact the XML-RPC "Server" in webERP is just the script http://www.yourdomain.com/webERP/api/api_xml-rpc.php</p> +<p>There is no daemon background process running continuously to field calls to the "server" it is just a script that is http posted to by the XML-RPC call sending the XML encoded method to be run together with the necessary parameters to the webERP API - the server script runs the API php functions exposed by the xml-rpc methods and returns the XML-RPC response as an XML payload. The phpxmlrpc class does the packaging converting the PHP variables and arrays to the XML required for the XML-RPC call and also has the functions to convert the XML response into something useable in PHP without having to write the XML parsing routines.</p> +<p> +It is worthwhile reading a how-to on XML-RPC with PHP which explains in more detail what is going on as a primer for the concepts.</p> +<p> +The beauty of XML-RPC is that the client calling the webERP XML-RPC server and performing native webERP functions can be called from any language (with XML-RPC bindings). I have used Vala, Genie and Python. Python particularly has been very straight forward as it has an xmlrpclib bundled with it. Of course a PHP client is also possible and is demonstrated below.</p> +<p> +The API help is actually produced by an xml-rpc call to the API using the system.listMethods method (this is a phpxmlrpc method - not a webERP API method). Aother system xml-rpc method of phpxmlrpc class is used to return the details of each method's parameters required. So the help file not only documents each of the API methods it is itself and illustration of how the API can be used!!</p> +<p> +Below is a simple example of how to use the API.</p> +<p> +<hr> +<pre> +echo "Test webERP API"; + +//the xmlrpc class can output some funny warnings so make sure notices are turned off error_reporting (E_ALL & ~E_NOTICE); + +/* you need to include the phpxmlrpc class - see link above - copy the whole directory structure of the class over to your client application from the webERP/xmlrpc directory */ + include ("xmlrpc/lib/xmlrpc.inc"); -<br /><br /> + //if your webERP install is on a server at http://www.yourdomain.com/webERP -<br /><br /> + $ServerURL = "http://www.yourdomain.com/webERP/api/api_xml-rpc.php"; -<br /><br /> + $DebugLevel = 0; //Set to 0,1, or 2 with 2 being the highest level of debug info -<br /><br /> + $Parameters = array(); -<br /><br /> -/*The trap for me was that each parameter needs to be run through xmlrpcval() - to create the necessary xml required for the rpc call -if one of the parameters required is an array then it needs to be processing into xml for the rpc call through php_xmlrpc_encode()*/ -<br /><br /> + +/* The trap for me was that each parameter needs to be run through xmlrpcval() - to create the necessary xml required for the rpc call if one of the parameters required is an array then it needs to be processing into xml for the rpc call through php_xmlrpc_encode()*/ + $Parameters['StockID'] = xmlrpcval('DVD-TOPGUN'); //the stockid of the item we wish to know the balance for -<br /><br /> + //assuming the demo username and password will work ! -<br /><br /> + $Parameters['Username'] = xmlrpcval('admin'); -<br /><br /> + $Parameters['Password'] = xmlrpcval('weberp'); -<br /><br /> + $msg = new xmlrpcmsg("weberp.xmlrpc_GetStockBalance", $Parameters); -<br /><br /> + $client = new xmlrpc_client($ServerURL); -<br /><br /> -$client->setDebug($DebugLevel); -<br /><br /> -$response = $client->send($msg); -<br /><br /> -$answer = php_xmlrpc_decode($response->value()); -<br /><br /> + +$client->setDebug($DebugLevel); + +$response = $client->send($msg); + +$answer = php_xmlrpc_decode($response->value()); + if ($answer[0]!=0){ //then the API returned some errors need to figure out what went wrong -<br /><br /> + //need to figure out how to return all the error descriptions associated with the codes -<br /><br /> + } else { //all went well the returned data is in $answer[1] -<br /><br /> + //answer will be an array of the locations and quantity on hand for DVD_TOPGUN so we need to run through the array to print out -<br /><br /> -for ($i=0; $i < sizeof($answer[1]);$i++) { -<br /><br /> - echo '<br>' . $answer[1][$i]['loccode'] . ' has ' . $answer[1][$i]['quantity'] . ' on hand'; - <br /><br /> + +for ($i=0; $i < sizeof($answer[1]);$i++) { + +echo '<br> +' . $answer[1][$i]['loccode'] . ' has ' . $answer[1][$i]['quantity'] . ' on hand'; + } -<br /><br /> -echo "</body></html>"; -<br /><br /> -</i> -<hr /> -<br /><br /> -It is necessary to be logged in to see the API functions manual shows all the functions in the API with a description of the parameters required and what each function does. -<br /><br /> -To create invoices in webERP you need to use the following methods: -<br /><br /> -InsertOrderHeader -InsertOrderLine - potentially multiple times for all the lines on the order then -InvoiceSalesOrder - to invoice sales orders directly assuming the entire order is delivered - it cannot deal with controlled stock items though. However, it does process invoices in much the same way as standard webERP with updates to the stock quantities dispatched, GL entries and records required to record taxes and sales analysis records. -<br /><br /> -To create a credit note just a sinlge API call is required: -<br /> -CreateCreditNote - to create a credit note from some base header data and an array of line items (as an associative array. In the same way as the InvoiceSalesOrder function this does all the same processing as a standard credit note from the interface in webERP. -<br /><br /> -There are some example scripts on the wiki showing how a number of the API XML-RPC functions are called - these scripts should be put on a web-server outside a webERP installation - all you need to do is edit the config.inc file to give the system your webERP username and password and the URL of your webERP installation you wish to connect to. As always playing with the examples helps to figure out how it all works. \ No newline at end of file + +echo ""; +</pre> +<p> +It is necessary to be logged in to see the API functions manual shows all the functions in the API with a description of the parameters required and what each function does.</p> +<p> +To create invoices in webERP you need to use the following methods:</p> +<p> +InsertOrderHeader InsertOrderLine - potentially multiple times for all the lines on the order then InvoiceSalesOrder - to invoice sales orders directly assuming the entire order is delivered - it cannot deal with controlled stock items though. However, it does process invoices in much the same way as standard webERP with updates to the stock quantities dispatched, GL entries and records required to record taxes and sales analysis records.</p> +<p> +To create a credit note just a sinlge API call is required:</p> +<p> +CreateCreditNote - to create a credit note from some base header data and an array of line items (as an associative array. In the same way as the InvoiceSalesOrder function this does all the same processing as a standard credit note from the interface in webERP.</p> +<p> +There are some example scripts on the wiki showing how a number of the API XML-RPC functions are called - these scripts should be put on a web-server outside a webERP installation - all you need to do is edit the config.inc file to give the system your webERP username and password and the URL of your webERP installation you wish to connect to. As always playing with the examples helps to figure out how it all works.</p> Modified: trunk/doc/Manual/ManualARInquiries.html =================================================================== --- trunk/doc/Manual/ManualARInquiries.html 2012-06-23 22:15:44 UTC (rev 5449) +++ trunk/doc/Manual/ManualARInquiries.html 2012-06-24 05:36:51 UTC (rev 5450) @@ -1,40 +1,34 @@ -<br /><br /> - <!-- Help Begin: CustomerInquiry --> +<a id="ARInquiries"><h1>Accounts Receivable Inquiries</h1></a> +<h2>Customer Inquiries</h2> +<p> +Complete "drill down" inquiries are available to extract the full detail of transactions. The system maintains more data than many systems, preferring to minimise the use of consolidated or batch entries, in favour of the full detail of each transaction. The enquires can show the account history for a customer and from this inquiry it is possible to look at the details behind each transaction, from the detail of the transaction it is possible to look at the line items on the original invoice and which receipts paid the invoice. The original invoice or credit can be viewed directly from customer inquiries and the general ledger transactions that were created by the invoice, credit or receipt may also be inspected.</p> -<a name="ARInquiries"><font size="+3"><b>Accounts Receivable Inquiries</b></font></a> -<br /><br /> -<font size="+2"><b>Customer Inquiries</b></font> -<br /><br /> -Complete "drill down" inquiries are available to extract the full detail of transactions. The system maintains more data than many systems, preferring to minimise the use of consolidated or batch entries, in favour of the full detail of each transaction. The enquires can show the account history for a customer and from this inquiry it is possible to look at the details behind each transaction, from the detail of the transaction it is possible to look at the line items on the original invoice and which receipts paid the invoice. The original invoice or credit can be viewed directly from customer inquiries and the general ledger transactions that were created by the invoice, credit or receipt may also be inspected. -<br /><br /> -<font size="+1"><b>Customer Account inquiries</b></font> -<br /><br /> -From any page, click the "select customer" link. Having selected the customer all links applicable to the customer show. Among them the customer transactions inquiry. -<br /><br /> -By default the inquiry screen shows only those transactions after a date six months ago. The default period can be modified by simple editing of the script CustomerInquiry.php. If transactions further back are required only occasionally and not by default - the date after which all transactions will show can be altered at will. When the screen opens the customer's account is shown in the currency of the customer. The aged analysis based on the customer's terms is displayed. -<br /><br /> -If the transaction is an invoice or a credit note a magnifying glass icon shows on the same line as the transaction. A click on this magnifying glass then opens a new window showing the detail of the invoice or credit note. -<br /><br /> -If the integration to the general ledger from accounts receivable - see the option to "Create GL entries for accounts receivable transactions" from the Company Preferences page under setup - then another link with the letters GL will show. This link shows a new page with the detail of the general ledger postings created by this transaction. -<br /><br /> -If the transaction is a receipt or a credit note and the user has appropriate access privileges, a book icon shows. Clicking this icon takes the user to the page for allocating receipts and credits - if the receipt or credit is already allocated then the detail of how the receipt/credit was allocated is shown together with other invoices that could be used for allocating against. Invoices that have previously been allocated will not show. -<br /><br /> -More (or less) history can be shown by changing the "Show all transactions after: -<br /><br /> -" date - then clicking the refresh button. The balance on the customer's account should balance to the sum of the amounts outstanding. The amount outstanding is used to represent: -<br /><br /> +<h2>Customer Account inquiries</h2> + +<p>From any page, click the "select customer" link. Having selected the customer all links applicable to the customer show. Among them the customer transactions inquiry.</p> + +<p>By default the inquiry screen shows only those transactions after a date six months ago. The default period can be modified by simple editing of the script CustomerInquiry.php. If transactions further back are required only occasionally and not by default - the date after which all transactions will show can be altered at will. When the screen opens the customer's account is shown in the currency of the customer. The aged analysis based on the customer's terms is displayed.</p> + +<p>If the transaction is an invoice or a credit note a magnifying glass icon shows on the same line as the transaction. A click on this magnifying glass then opens a new window showing the detail of the invoice or credit note.</p> + +<p>If the integration to the general ledger from accounts receivable - see the option to "Create GL entries for accounts receivable transactions" from the Company Preferences page under setup - then another link with the letters GL will show. This link shows a new page with the detail of the general ledger postings created by this transaction.</p> + +<p>If the transaction is a receipt or a credit note and the user has appropriate access privileges, a book icon shows. Clicking this icon takes the user to the page for allocating receipts and credits - if the receipt or credit is already allocated then the detail of how the receipt/credit was allocated is shown together with other invoices that could be used for allocating against. Invoices that have previously been allocated will not show.</p> + +<p>More (or less) history can be shown by changing the "Show all transactions after:</p> + +<p>" date - then clicking the refresh button. The balance on the customer's account should balance to the sum of the amounts outstanding. The amount outstanding is used to represent:</p> + <ul> -<li>For Invoices, the amount which has not yet been settled by receipts or credit notes -<li>For Receipts, the amount which has yet to be allocated (or matched off) against invoices. + <li>For Invoices, the amount which has not yet been settled by receipts or credit notes</li> + <li>For Receipts, the amount which has yet to be allocated (or matched off) against invoices.</li> </ul> -<font size="+1"><b>Transaction Detail inquiries</b></font> -<br /><br /> -The detail of transactions can be inspected via one of two avenues: -<br /><br /> +<h3>Transaction Detail inquiries</h3> +The detail of transactions can be inspected via one of two avenues:</p> + <ul> -<li>From the Customer's Account inquiry - click on the magnifying glass or the GL link against the transaction required. -<li>From the Transaction Enquires - from the Accounts Receivable tab, click on the magnifying glass to see the actual invoice or credit note. -</ul> + <li>From the Customer's Account inquiry - click on the magnifying glass or the GL link against the transaction required.</li> -<!-- Help End: CustomerInquiry --> + <li>From the Transaction Enquires - from the Accounts Receivable tab, click on the magnifying glass to see the actual invoice or credit note.</li> +</ul><!-- Help End: CustomerInquiry --> Modified: trunk/doc/Manual/ManualARReports.html =================================================================== --- trunk/doc/Manual/ManualARReports.html 2012-06-23 22:15:44 UTC (rev 5449) +++ trunk/doc/Manual/ManualARReports.html 2012-06-24 05:36:51 UTC (rev 5450) @@ -1,71 +1,50 @@ -<br /><br /> -<a name="ARReports"><font size="+3"><b>Accounts Receivable Reports</b></font></a> -<br /><br /> -The system is designed for flexibility and to provide the framework of core functionality required to administer a debtors ledger system. The basic accounts receivable reports are available as standard since they are used by all businesses. However, since the database is open it is envisaged that the business will make use of ODBC drivers for database used and use Crystal Reports or Microsoft Access or some other analysis software, where the user is on the same LAN as the server for specialised reports. -<br /><br /> +<a id="ARReports"><h1>Accounts Receivable Reports</h1></a> +The system is designed for flexibility and to provide the framework of core functionality required to administer a debtors ledger system. The basic accounts receivable reports are available as standard since they are used by all businesses. However, since the database is open it is envisaged that the business will make use of ODBC drivers for database used and use Crystal Reports or Microsoft Access or some other analysis software, where the user is on the same LAN as the server for specialised reports.</p> + <!-- Help Begin: AgedDebtors --> +<h2>Aged Customer Balance Listing</h2> +<p> +From the main menu select Customers, Reports, "Aged Customer Balances/Overdues Report".</p> +<p> +This report calculates the balances of the customers' accounts according to the parameters specified in config.php $PastDueDays1 and $PastDueDays2. The report is generated in the currency of the customer. The currency of the report must first be selected and the range of customers accounts to print.</p> +<p> +The report can be printed at two levels:</p> -<font size="+1"><b>Aged Customer Balance Listing</b></font> -<br /><br /> -From the main menu select Customers, Reports, "Aged Customer Balances/Overdues Report". -<br /><br /> -This report calculates the balances of the customers' accounts according to the parameters specified in config.php $PastDueDays1 and $PastDueDays2. The report is generated in the currency of the customer. The currency of the report must first be selected and the range of customers accounts to print. -<br /><br /> -The report can be printed at two levels: -<br /><br /> <ul> -<li>The full detail of the all outstanding amounts on the account, transaction by transaction analysed into current, Due, $PastDueDays1 and PastDueDays2. The detailed report also shows the terms applicable to each customer. -<li>A summary of the account balances split in the same aged groupings. -</ul> -This report recalculates the balance on the customer's account from the outstanding transactions and analyses each outstanding transaction based on the date of invoice plus the expected time to deliver to the branch invoiced. -<br /><br /> -The Aged Customer Balances can also be restricted to show just the accounts where there is some balance overdue. The same detail and summary reports are available. The resultant reports create pdf files that can be either saved or printed. + <li>The full detail of the all outstanding amounts on the account, transaction by transaction analysed into current, Due, $PastDueDays1 and PastDueDays2. The detailed report also shows the terms applicable to each customer.</li> -<!-- Help End: AgedDebtors --> + <li>A summary of the account balances split in the same aged groupings.</li> +</ul>This report recalculates the balance on the customer's account from the outstanding transactions and analyses each outstanding transaction based on the date of invoice plus the expected time to deliver to the branch invoiced.</p> +<p> +The Aged Customer Balances can also be restricted to show just the accounts where there is some balance overdue. The same detail and summary reports are available. The resultant reports create pdf files that can be either saved or printed. <!-- Help End: AgedDebtors --> -<br /><br /> - <!-- Help Begin: PrintCustStatements --> +<h2>Customer Statements</h2> +<p> +The customer statement shows the outstanding transactions on the account. There is an option in config.php that allows transactions that have been settled at some time within the last month to be shown in a settled transactions section of the statement. The parameter, $Show_Settled_LastMonth should be set equal to 1 for this. If it is set to 0, then any settled transactions will not be shown on the statements. This saves printing zero balance statements and there is argument both ways as to which is best.</p> +<p> +When transactions are created, the date of the transaction determines the period into which it is posted in the general ledger. The date of the transaction is also used in the aging calculations used on the statement. All transactions to the date of the statement are included. It is not possible to print a statement as at some prior date. It may be necessary to delay the start of invoicing for the new month until all receipts are entered and allocated and the statements printed before processing new invoices that should appear on the following month's statement.</p> +<p> +Procedure - All receipts must be allocated for the aged analysis to be calculated correctly. Then from the main menu Accounts Receivable tab select from the reports and inquiries section, "Print Statements". The link will allow selection of a range of customers. A single customer's statement can be printed by selecting the same starting an finishing customer code. Statements will be printed in sequence of the Customer code set up in the customer details screen. A pdf file is created this can be saved or printed. <!-- Help End: PrintCustStatements --> -<font size="+1"><b>Customer Statements</b></font> -<br /><br /> -The customer statement shows the outstanding transactions on the account. There is an option in config.php that allows transactions that have been settled at some time within the last month to be shown in a settled transactions section of the statement. The parameter, $Show_Settled_LastMonth should be set equal to 1 for this. If it is set to 0, then any settled transactions will not be shown on the statements. This saves printing zero balance statements and there is argument both ways as to which is best. -<br /><br /> -When transactions are created, the date of the transaction determines the period into which it is posted in the general ledger. The date of the transaction is also used in the aging calculations used on the statement. All transactions to the date of the statement are included. It is not possible to print a statement as at some prior date. It may be necessary to delay the start of invoicing for the new month until all receipts are entered and allocated and the statements printed before processing new invoices that should appear on the following month's statement. -<br /><br /> -Procedure - All receipts must be allocated for the aged analysis to be calculated correctly. Then from the main menu Accounts Receivable tab select from the reports and inquiries section, "Print Statements". The link will allow selection of a range of customers. A single customer's statement can be printed by selecting the same starting an finishing customer code. Statements will be printed in sequence of the Customer code set up in the customer details screen. A pdf file is created this can be saved or printed. - -<!-- Help End: PrintCustStatements --> - -<br /><br /> - <!-- Help Begin: CustomerTransInquiry --> +<h2>Customer Transaction Listing Options</h2> +<p> +This is accessed from the main menu, accounts receivable tab under the link "Transaction Inquiries".</p> +<p> +This inquiry allows transactions to be listed based on the selection of criteria on screen. The page allows listing of receipts, invoices or credit notes within any specified date range.</p> +<p> +This listing is shown on the screen and can of course be printed from the browser if necessary. <!-- Help End: CustomerTransInquiry --> + <!-- Help Begin: PrintCustTrans --> -<font size="+1"><b>Customer Transaction Listing Options</b></font> -<br /><br /> -This is accessed from the main menu, accounts receivable tab under the link "Transaction Inquiries". -<br /><br /> -This inquiry allows transactions to be listed based on the selection of criteria on screen. The page allows listing of receipts, invoices or credit notes within any specified date range. -<br /><br /> -This listing is shown on the screen and can of course be printed from the browser if necessary. - -<!-- Help End: CustomerTransInquiry --> - -<!-- Help Begin: PrintCustTrans --> - -<br /><br /> -<font size="+1"><b>Printing Invoices Or Credit Notes</b></font> -<br /><br /> -From the Main Menu select the Accounts Receivable tab, under Inquiries and Reports, "Print Invoices or Credit Notes". -<br /><br /> -This page shows the last invoice and credit note created and some brief instructions on how to use the page. By default the page assumes that invoices are required. However, if credit notes are required, they can be selected from the list field. -<br /><br /> -If only one transaction is required then the number of the transaction should be entered in the field "Start invoice/credit note number to print". If a range of transactions is required then both fields are necessary to be completed. -<br /><br /> -There is also an option to print EDI invoices/credit notes. By default these are not printed as they will normally be dispatched electronically to the customer. However, some businesses and tax authorities require hard copy invoices and credit notes to be produced in any event. -<br /><br /> -Two options are available - Print, produces a html page of the invoice (or credit note), the resulting page can then be printed using the browser print functionality. The print PDF produces a PDF invoice (or credit note). - -<!-- Help End: PrintCustTrans --> - +<h2>Printing Invoices Or Credit Notes</h2> +<p> +From the Main Menu select the Accounts Receivable tab, under Inquiries and Reports, "Print Invoices or Credit Notes".</p> +<p> +This page shows the last invoice and credit note created and some brief instructions on how to use the page. By default the page assumes that invoices are required. However, if credit notes are required, they can be selected from the list field.</p> +<p>If only one transaction is required then the number of the transaction should be entered in the field "Start invoice/credit note number to print". If a range of transactions is required then both fields are necessary to be completed.</p> +<p> +There is also an option to print EDI invoices/credit notes. By default these are not printed as they will normally be dispatched electronically to the customer. However, some businesses and tax authorities require hard copy invoices and credit notes to be produced in any event.</p> +<p> +Two options are available - Print, produces a html page of the invoice (or credit note), the resulting page can then be printed using the browser print functionality. The print PDF produces a PDF invoice (or credit note). <!-- Help End: PrintCustTrans --> Modified: trunk/doc/Manual/ManualARTransactions.html =================================================================== --- trunk/doc/Manual/ManualARTransactions.html 2012-06-23 22:15:44 UTC (rev 5449) +++ trunk/doc/Manual/ManualARTransactions.html 2012-06-24 05:36:51 UTC (rev 5450) @@ -1,190 +1,209 @@ -<br /><br /> +<h1><a id="ARTransactions">Accounts Receivable Transactions</a></h1> -<!-- Help Begin: SelectSalesOrder --> +<h2>Invoicing An Order</h2> -<a name="ARTransactions"><font size="+3"><b>Accounts Receivable Transactions</b></font></a> -<br /><br /> -<font size="+2"><b>Invoicing An Order</b></font> -<br /><br /> -<font size="+1"><b>Selecting an Order To Invoice</b></font> -<br /><br /> -All invoices require a sales order to be entered first. -<br /><br /> -From the main menu select the orders tab. Select Outstanding Sales Orders Maintenance. This page shows all the orders outstanding. If the order number is known it can be entered on this screen to select the order to invoice. Hit search orders and the order should show below, together with links to modify the order, print the packing slip and to invoice. Click the link to invoice the order. -<br /><br /> -<font size="+1"><b>Producing An Invoice From A Selected Order</b></font> -<br /><br /> -Having selected an order to invoice the order line comes up for confirming the quantities of the order that were dispatched. If the quantity dispatched differs from the order the difference is recorded in the table OrderDeliveryDifferencesLog - and a report is available to show the orders that were not able to be delivered with the first dispatch. There is also opportunity to enter the freight charge and if necessary enter the tax charge - which will normally be calculated automatically based on the tax authority of the customer branch being invoiced. The date of the invoice is defaulted based on the time of day and the settings in config.php. If the hour (in 24 hour format) is after the setting of $DispatchCutOffTime in config.php, then the following day is deemed to be the invoice date, alternatively the invoice date will default to today. Where not all lines on the order are being invoiced there are two choices with how to deal with the balance. -<br /><br /> +<h3>Selecting an Order To Invoice</h3> + +<p>All invoices require a sales order to be entered first.</p> + +<p>From the main menu select the orders tab. Select Outstanding Sales Orders Maintenance. This page shows all the orders outstanding. If the order number is known it can be entered on this screen to select the order to invoice. Hit search orders and the order should show below, together with links to modify the order, print the packing slip and to invoice. Click the link to invoice the order.</p> + +<h3>Producing An Invoice From A Selected Order</h3> + +<p>Having selected an order to invoice the order line comes up for confirming the quantities of the order that were dispatched. If the quantity dispatched differs from the order the difference is recorded in the table OrderDeliveryDifferencesLog - and a report is available to show the orders that were not able to be delivered with the first dispatch. There is also opportunity to enter the freight charge and if necessary enter the tax charge - which will normally be calculated automatically based on the tax authority of the customer branch being invoiced. The date of the invoice is defaulted based on the time of day and the settings in config.php. If the hour (in 24 hour format) is after the setting of $DispatchCutOffTime in config.php, then the following day is deemed to be the invoice date, alternatively the invoice date will default to today. Where not all lines on the order are being invoiced there are two choices with how to deal with the balance.</p> + <ul> -<li>Put the balance on back order -<li>Cancel the line on the order -</ul> -Finally there is also a field for entry of any text on the invoice. Hitting the process invoice button updates the order as instructed and produces all the entries including general ledger postings (if integration is enabled in the company preferences screen - see setup) to record the invoice. Until the process invoice button is hit, no entries have been saved to the database and it is safe to leave the page at any stage without having changed anything - the invoicing process can be cancelled at any time simply by following a link to another page. The processing that takes place once the Process Invoice button is hit includes: -<br /><br /> + <li>Put the balance on back order</li> + + <li>Cancel the line on the order</li> +</ul>Finally there is also a field for entry of any text on the invoice. Hitting the process invoice button updates the order as instructed and produces all the entries including general ledger postings (if integration is enabled in the company preferences screen - see setup) to record the invoice. Until the process invoice button is hit, no entries have been saved to the database and it is safe to leave the page at any stage without having changed anything - the invoicing process can be cancelled at any time simply by following a link to another page. The processing that takes place once the Process Invoice button is hit includes: +<p> + <ul> -<li>Creation of the stock movements for each line item on the order - or for the assemblies components - from the location entered at the time of the order, at the price as per the order. -<li>Creation of the DebtorTrans record that records the invoice against the customer's account. -<li>Creation of the general ledger jorunals to record the sale and debtor etc. -<li>Updating the order for amounts dispatched, and the invoice number. -<li>Creating/updating the sales analysis records of the items being sold. -<li>Updating the stock quantities for all lines of the invoice and the components of all assemblies included on the order. + <li>Creation of the stock movements for each line item on the order - or for the assemblies components - from the location entered at the time of the order, at the price as per the order.</li> + + <li>Creation of the DebtorTrans record that records the invoice against the customer's account.</li> + + <li>Creation of the general ledger jorunals to record the sale and debtor etc.</li> + + <li>Updating the order for amounts dispatched, and the invoice number.</li> + + <li>Creating/updating the sales analysis records of the items being sold.</li> + + <li>Updating the stock quantities for all lines of the invoice and the components of all assemblies included on the order.</li> </ul> -If the order is not to be invoiced to the customer or branch specified in the order, or pricing is to be changed then the order must be changed. These elements cannot be altered at the time of invoice, they must be altered in the order before it is confirmed for invoicing. Once an invoice is created it cannot be deleted or modified. The order is also updated with the invoice number that it was dispatched on. -<!-- Help End: SelectSalesOrder --> +<p>If the order is not to be invoiced to the customer or branch specified in the order, or pricing is to be changed then the order must be changed. These elements cannot be altered at the time of invoice, they must be altered in the order before it is confirmed for invoicing. Once an invoice is created it cannot be deleted or modified. The order is also updated with the invoice number that it was dispatched on.</p><!-- Help End: SelectSalesOrder --> -<br /><br /> +<div class="floatright"> + <a class="minitext" href="#top">⬆ Top</a> +</div><!-- Help Begin: SelectCreditItems --> -<!-- Help Begin: SelectCreditItems --> +<h2>Credit Notes</h2> -<font size="+2"><b>Credit Notes</b></font> -<br /><br /> -Credit notes can be created in one of two ways: -<br /><br /> +<p>Credit notes can be created in one of two ways:</p> + <ul> -<li>From a customer inquiry screen if the user has the necessary permissions ( $PageSecurity=3 - see Security Schema) a link shows to allow an entire invoice to be credited. Having clicked this link there is opportunity to de-select some items from being credited so that only the part of the invoice that needs to be credited can be, with only minimal keying. The same credit note creation page as used in manual creation of credit notes will appear but with all the items from the orignal invoice already entered into the credit note. -<li>Using the link on the main menu under the receivables tab, select the link to create a credit note. + <li>From a customer inquiry screen if the user has the necessary permissions ( $PageSecurity=3 - see Security Schema) a link shows to allow an entire invoice to be credited. Having clicked this link there is opportunity to de-select some items from being credited so that only the part of the invoice that needs to be credited can be, with only minimal keying. The same credit note creation page as used in manual creation of credit notes will appear but with all the items from the orignal invoice already entered into the credit note.</li> + + <li>Using the link on the main menu under the receivables tab, select the link to create a credit note.</li> </ul> -<b>Important Note:</b> -<br /><br /> -It is important to use credit notes to correct incorrect invoices correctly. Crediting a small price against a part implies that the goods were returned and the customer only credited a fraction of their worth. This is not the correct way to credit an overcharge. By default credit notes return the stock to the location specified, so the stock records will be overstated by the goods returned to stock by the credit note. To correct a pricing error a credit note for the invoice line at the incorrect charge must be done and a new invoice at the correct charge must be made up. This ensures that sales analysis records are not corrupted for the quantities sold and that stock records are maintained correctly. A special pricing adjustment type of credit note is available that does not have any cost implications for the sales analysis and has no stock physical movement record associated with it. -<br /><br /> -The process for creating a credit note manually is: -<br /><br /> + +<h4>Important Note:</h4> + +<p>It is important to use credit notes to correct incorrect invoices correctly. Crediting a small price against a part implies that the goods were returned and the customer only credited a fraction of their worth. This is not the correct way to credit an overcharge. By default credit notes return the stock to the location specified, so the stock records will be overstated by the goods returned to stock by the credit note. To correct a pricing error a credit note for the invoice line at the incorrect charge must be done and a new invoice at the correct charge must be made up. This ensures that sales analysis records are not corrupted for the quantities sold and that stock records are maintained correctly. A special pricing adjustment type of credit note is available that does not have any cost implications for the sales analysis and has no stock physical movement record associated with it.</p> + +<p>The process for creating a credit note manually is:</p> + <ul> -<li>Select the customer to be credited, there are the usual selection options (a box to enter an extract of the customer's name and a box to enter an extract of the customer's code) -<li>Select the items to be credited and the prices to be used in crediting the customer - the same quick entry option is available as is used in order entry. - where the part code and quantity to be credited is entered directly. Pricing is automatically determined by reference to the customer's sales type, currency with regard to any special pricing for the customer (and branch) being credited. If the search for a part functions are used, then after each part is selected the quantity can be updated after the item is selected. -<li>Having selected all the items it is possible to edit the items to be credited by clicking the button of the code of the item on the summary, then editing the price and quantity. -<li>Amounts to be credited for freight can be entered directly (this would be entered directly from the original invoice if the credit an invoice option was used from the customer inquiry screen). -<li>The tax amount to credit is calculated automatically by default based on the tax authority of the branch being credited and the total of the line items and freight to be credited. It is also possible to select the manual option. Once having selected manual, the user should hit update to allow free entry of any amount in the tax field. -<li>By default it is assumed that the goods in the credit note are being returned to stock. The location to where the goods are being returned must be selected from the selection box. -<li>If the goods are not being returned to stock, they are to be written off perhaps as samples or showroom display, damaged goods or whatever, the credit note type option should be changed to goods written off. After changing the credit note type and hitting the update button, a new select box will allow a general ledger code to be selected (assuming the general ledger interface to accounts receivable is active - it will not show if there is no integration). The appropriate general ledger code should be selected from this box. The location to return the stock to select box will disappear since it is no longer relevant. A third option is to credit a pricing adjustment - this type does not create any stock movements and the sales analysis updates only affect the value no cost of sales updates take place. -<li>Any text describing the reasons for the credit note should be entered in the narrative box provided. -<li>After completing all the inputs required, hit the Process Credit Note button to create the credit note. The created credit note number will be reported confirming that it has been processed. -</ul> + <li>Select the customer to be credited, there are the usual selection options (a box to enter an extract of the customer's name and a box to enter an extract of the customer's code)</li> -<!-- Help End: SelectCreditItems --> + <li>Select the items to be credited and the prices to be used in crediting the customer - the same quick entry option is available as is used in order entry. - where the part code and quantity to be credited is entered directly. Pricing is automatically determined by reference to the customer's sales type, currency with regard to any special pricing for the customer (and branch) being credited. If the search for a part functions are used, then after each part is selected the quantity can be updated after the item is selected.</li> + <li>Having selected all the items it is possible to edit the items to be credited by clicking the button of the code of the item on the summary, then editing the price and quantity.</li> + + <li>Amounts to be credited for freight can be entered directly (this would be entered directly from the original invoice if the credit an invoice option was used from the customer inquiry screen).</li> + + <li>The tax amount to credit is calculated automatically by default based on the tax authority of the branch being credited and the total of the line items and freight to be credited. It is also possible to select the manual option. Once having selected manual, the user should hit update to allow free entry of any amount in the tax field.</li> + + <li>By default it is assumed that the goods in the credit note are being returned to stock. The location to where the goods are being returned must be selected from the selection box.</li> + + <li>If the goods are not being returned to stock, they are to be written off perhaps as samples or showroom display, damaged goods or whatever, the credit note type option should be changed to goods written off. After changing the credit note type and hitting the update button, a new select box will allow a general ledger code to be selected (assuming the general ledger interface to accounts receivable is active - it will not show if there is no integration). The appropriate general ledger code should be selected from this box. The location to return the stock to select box will disappear since it is no longer relevant. A third option is to credit a pricing adjustment - this type does not create any stock movements and the sales analysis updates only affect the value no cost of sales updates take place.</li> + + <li>Any text describing the reasons for the credit note should be entered in the narrative box provided.</li> + + <li>After completing all the inputs required, hit the Process Credit Note button to create the credit note. The created credit note number will be reported confirming that it has been processed.</li> +</ul><!-- Help End: SelectCreditItems --> <!-- Help Begin: CustomerReceipt --> -<font size="+2"><b>Entry Of Receipts</b></font> -<br /><br /> -This system tracks the invoices and credits which are outstanding (a so called open item system) in contrast to systems which use a balance brought forward from the previous month to add and subtract current month transactions. Experience has shown balance forward systems whilst intuitive, often result in queries for more information with the inevitable question from customers "what was this balance made up of ?" . The statements produced by this system show a full reconciliation of the amounts outstanding against invoices and credits that are yet to be settled totalling the amount of the customer's account. In order to provide the necessary information to track outstanding amounts, invoice by invoice, the detail of the make up of payments must be entered. -<br /><br /> -Payments received from customers are therefore entered in a two-stage process: -<br /><br /> +<div class="floatright"> + <a class="minitext" href="#top">⬆ Top</a> +</div> + +<h2>Entry Of Receipts</h2> + +<p>This system tracks the invoices and credits which are outstanding (a so called open item system) in contrast to systems which use a balance brought forward from the previous month to add and subtract current month transactions. Experience has shown balance forward systems whilst intuitive, often result in queries for more information with the inevitable question from customers "what was this balance made up of ?" . The statements produced by this system show a full reconciliation of the amounts outstanding against invoices and credits that are yet to be settled totalling the amount of the customer's account. In order to provide the necessary information to track outstanding amounts, invoice by invoice, the detail of the make up of payments must be entered.</p> + +<p>Payments received from customers are therefore entered in a two-stage process:</p> + <ul> -<li>The amount of the payment received is entered in foreign currency together with the exchange rate at which this has been banked into local currency. Any details pertinent to the receipt such as the date, method of payment and any details (which can be recalled from inquiries later) are entered at this stage. -<li>The foreign currency received is allocated to the invoices (and debit journals) on the customer's account. Put another way, the invoices that the payment is meant to be settling are matched off against the payment. -</ul> -If the details of the make up of a payment received are not available at the time of banking, the receipt can still be entered to stage 1. However, the allocation must be done before the statement is produced if the account is to make sense. -<br /><br /> -Note: Differences on exchange are only calculated once the receipt is matched against the invoices it is paying. -<br /><br /> -Receipts relating to general ledger transactions can also be entered in the same batch as customer receipts. -<br /><br /> -The process of entering receipts is initiated from the main menu under the receivables tab - another link is also available from the general ledger tab. -<br /><br /> -Firstly, the receipt header information is required, the bank account - one of the previously defined bank accounts (see setup), the date the batch of receipts are banked, the currency and exchange rate of the banking and the type of receipt together with any narrative. The currency can be selected from the defined currencies (see setup). The receipt types can also be selected - they are defined in config.php. Once this information is entered it must be accepted before the receipts in the batch can be entered. -<br /><br /> -<font size="+1"><b>Receipt - Customer</b></font> -<br /><br /> -By default once the a customer has been selected the following information is displayed: -<br /><br /> + <li>The amount of the payment received is entered in foreign currency together with the exchange rate at which this has been banked into local currency. Any details pertinent to the receipt such as the date, method of payment and any details (which can be recalled from inquiries later) are entered at this stage.</li> + + <li>The foreign currency received is allocated to the invoices (and debit journals) on the customer's account. Put another way, the invoices that the payment is meant to be settling are matched off against the payment.</li> +</ul>If the details of the make up of a payment received are not available at the time of banking, the receipt can still be entered to stage 1. However, the allocation must be done before the statement is produced if the account is to make sense. +<p> + +<p>Note: Differences on exchange are only calculated once the receipt is matched against the invoices it is paying.</p> + +<p>Receipts relating to general ledger transactions can also be entered in the same batch as customer receipts.</p> + +<p>The process of entering receipts is initiated from the main menu under the receivables tab - another link is also available from the general ledger tab.</p> + +<p>Firstly, the receipt header information is required, the bank account - one of the previously defined bank accounts (see setup), the date the batch of receipts are banked, the currency and exchange rate of the banking and the type of receipt together with any narrative. The currency can be selected from the defined currencies (see setup). The receipt types can also be selected - they are defined in config.php. Once this information is entered it must be accepted before the receipts in the batch can be entered.</p> + +<h3>Receipt - Customer</h3> + +<p>By default once the a customer has been selected the following information is displayed:</p> + <ul> -<li>The payment terms applicable, so amounts overdue can be easily noted from the allocation screen without having to go back and do an inquiry. -<li>The payment discount percentage applicable. The user can then use this rate if applicable to calculate the discount applicable, depending on how much of the payment relates to "on time" invoices. -<li>The currency that the currency is paying in. + <li>The payment terms applicable, so amounts overdue can be easily noted from the allocation screen without having to go back and do an inquiry.</li> + + <li>The payment discount percentage applicable. The user can then use this rate if applicable to calculate the discount applicable, depending on how much of the payment relates to "on time" invoices.</li> + + <li>The currency that the currency is paying in.</li> </ul> -<font size="+1"><b>Receipt - Date</b></font> -<br /><br /> -The date that the receipt was received and banked. If a receipt is being entered retrospectively - or several days bankings are being done together, the default date (i.e. the current date) should be over written with the date the receipt was originally received. This date is used on the statement and the customer may not be able to tie up the receipt if an incorrect date is entered. -<br /><br /> -Customer account inquiries are shown in date order so the account will not show correctly if the date entered is not the date the money was received. The date is also used in the general ledger transaction created. -<br /><br /> -<font size="+1"><b>Receipts - Currency and Exchange Rate</b></font> -<br /><br /> -Selection of the customer automatically tells the system which currency to expect the receipt in. The customer's account is maintained in the currency selected in the customer maintenance screen. -<br /><br /> -The correct rate at which the bank has converted the foreign currency to local currency must be input, the system shows the calculation of the local currency banked at the bottom of the screen. The receipt cannot (therefore) be entered until the amount in local currency is known. The exact rate to enter in this field will be the foreign currency figure divided by the local currency figure. -<br /><br /> -Eg banked 1212 local, in customer's currency this was 400. -<br /><br /> -Rate is 400/1212 = 0.330033 -<br /><br /> -The local currency calculated by the system should confirm that the rate entered is correct. The general ledger integration - if enabled - will produce a bank deposit for the local currency amount shown at the bottom of the screen, and reduce (credit) the Debtors Control account by the same amount. The system defaults the exchange rate to that set up against the currency in the currencies table. -<br /><br /> -When the receipt is matched to invoices, any differences between the local currency amounts banked against the local currency invoiced are recorded against the invoices and written off the general ledger Debtors Control Account and written into the profit and loss account - (specified in the company record of the customer concerned) if the general ledger integration is enabled from the module options screen. -<br /><br /> -<font size="+1"><b>Receipts - Payment Method</b></font> -<br /><br /> -The payment method is stored against the receipt and shows on the customer's statement. A banking report can also be run off based on the payment method to summarise the day's bankings, to automate the task of collating the different vouchers and summarising for the bank. -<br /><br /> -<font size="+1"><b>Receipts - Amount</b></font> -<br /><br /> -The amount of the receipt in foreign currency is entered here. This cannot be 0. Although, negative receipts are allowed (to reverse incorrect receip... [truncated message content] |