[Ledger-smb-devel] LedgerSMB 1.3.x and Apache v2.4?
On Tue, Jan 7, 2014 at 4:51 AM, Chris Travers chris.trav...@gmail.com wrote: Speaking of which, anything I can do to help with the Apache 2.4 issues? Well, I don't know how many people are already using LedgerSMB v1.3.x with Apache v2.4, but it seems to me that there will be; had you all considered splitting off the 1.3.x LedgerSMB ledger-httpd.conf file into Apache version specific files, like has already been done for LedgersSMB v1.4? I will confess it is somewhat difficult as I am currently running Apache 2.2, and haven't had time to upgrade my dev environment. That's one of the things that has delayed me getting back to working on LedgerSMB (and others things, like the perl modules); not only needed to get my work station set up for being able to work in the various distro versions I might need, but also needed to have separate test systems available for them as well... -- Robert J. Clay rjc...@gmail.com j...@rocasa.us -- CenturyLink Cloud: The Leader in Enterprise Cloud Services. Learn Why More Businesses Are Choosing CenturyLink Cloud For Critical Workloads, Development Environments Everything In Between. Get a Quote or Start a Free Trial Today. http://pubads.g.doubleclick.net/gampad/clk?id=119420431iu=/4140/ostg.clktrk ___ Ledger-smb-devel mailing list Ledger-smb-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/ledger-smb-devel
Re: [Ledger-smb-devel] [Ledger-smb-users] LedgerSMB 1.3.x and Apache v2.4?
eredeti üzenet- Feladó: Robert J. Clay rjc...@gmail.com Címzett: ledger-smb-us...@lists.sourceforge.net, Development discussion for LedgerSMB ledger-smb-devel@lists.sourceforge.net Dátum: Thu, 9 Jan 2014 03:57:21 -0500 - I will confess it is somewhat difficult as I am currently running Apache 2.2, and haven't had time to upgrade my dev environment. That's one of the things that has delayed me getting back to working on LedgerSMB (and others things, like the perl modules); not only needed to get my work station set up for being able to work in the various distro versions I might need, but also needed to have separate test systems available for them as well... Hi Robert, Personally I still focuse on 1.3 line, but instead of Apache, I use nginx + fcgiwrap to run lsmb. Beside of this, I had to tweak my latex environment to be able to print utf-8 chars in PDF (the info available on the ledgersmb.org, thanks to other contributors). My setup based on Debian Wheezy and it is an openvz container. Depends on your environment, I can recommend the following to you: - use a virtual machine or container (openvz/lxc) to bring up an environment for lsmb - as this is a server, not a desktop, you should stuck with debian wheezy - if you prefer apache, just install ledgersmb via the package manager - it will install every dependencies you need. You can upgrade the ledgersmb manually or tweak your settings (remove ledgersmb itself and modify your configs to your needs). - Optionally you can install nginx and fcgiwrap together - apt-get install nginx fcgiwrap , that's all. You can find a sample config a short README in the latest svn snapshot in the 1.3 line, check the contrib directory. I hope this helps you. Cheers, István -- CenturyLink Cloud: The Leader in Enterprise Cloud Services. Learn Why More Businesses Are Choosing CenturyLink Cloud For Critical Workloads, Development Environments Everything In Between. Get a Quote or Start a Free Trial Today. http://pubads.g.doubleclick.net/gampad/clk?id=119420431iu=/4140/ostg.clktrk ___ Ledger-smb-devel mailing list Ledger-smb-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/ledger-smb-devel
[Ledger-smb-devel] Looking at putting together an add-on for Washington State's sales tax
Hi everyone; I know we still have some users in Washington State. I would like to modularize this so that other location-based tax systems could work as well. My thinking is to put together a class which handles locations (and delivery vs non-delivery handling) and then inherit from that something that would look up the tax code and rate for a jurisdiction. This leads to a couple of important questions: 1. How do we want to address delivered vs nondelivered? A default in defaults? Just use the presence of a ship-to address (my preference)? 2. How do we want to handle display? -- Best Wishes, Chris Travers Efficito: Hosted Accounting and ERP. Robust and Flexible. No vendor lock-in. http://www.efficito.com/learn_more.shtml -- CenturyLink Cloud: The Leader in Enterprise Cloud Services. Learn Why More Businesses Are Choosing CenturyLink Cloud For Critical Workloads, Development Environments Everything In Between. Get a Quote or Start a Free Trial Today. http://pubads.g.doubleclick.net/gampad/clk?id=119420431iu=/4140/ostg.clktrk___ Ledger-smb-devel mailing list Ledger-smb-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/ledger-smb-devel
[Ledger-smb-devel] Managing exchange rates - in 1.3 and up
Hi, I found that, if I use more than one currencies, I can create offers/orders/invoices etc. in foreign currency when my customer/vendor has an account with that currency. In this case I am able to set an exchange rate for a specific day. The simplest rule in here (Hungary) to use the MNB's daily exchange rate (MNB is similar to FED or other central bank, which controls the country policy or whatever). As I do businessess in worldwide (vendors, customers sometimes in the EU and outside of EU), sometimes it happens, wrong exchange rate entered and needs to adjust it. Typical is, copy the value from somewhere else by Ctrl+C - Ctrl+V and the value format is wrong: like 221,38 become 22138 when it saved. It can happen and will happen. An other example, in the same day I issue an invoice for USD and I entered the MNB's exchange rate, but I also receive for example some USD into my bank account, but the bank converts it in his exchange rate which different than MNB. So, in SL (and the Hungarian modificaton of SL) it is possible to: list exchange rates for a specific day (not comfortable, limited functionality) keep track of two independent exchange rate, one is like for MNB, the other is for bank's exchange rate (this is also limited to 2) After all, my questions: is that possible to get a list of actual exchange rates? date from-to, currency could be ok for first it would be nice to be able to manage these kind of issues when accidentaly wrong exchange rate entered - in this case all related transaction should be recalculated, fixed somehow in the books, but keep it somehow in the history of course I did not check this specifically, but how can we manage that case, when some has more than one bank accounts and some of them are in different currency and wants to keep tracking that in USD/EUR/whatever? Regarding filling up automatically the exchange rate is possible with direct sql manipulation, using a script, for example every morning or whatever. So, what is your experience/needs with exchange rates? István -- CenturyLink Cloud: The Leader in Enterprise Cloud Services. Learn Why More Businesses Are Choosing CenturyLink Cloud For Critical Workloads, Development Environments Everything In Between. Get a Quote or Start a Free Trial Today. http://pubads.g.doubleclick.net/gampad/clk?id=119420431iu=/4140/ostg.clktrk___ Ledger-smb-devel mailing list Ledger-smb-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/ledger-smb-devel
[Ledger-smb-devel] How to use budgetting addon?
Hi, I found this promising addon, succeed to integrate, but no idea, how to use it :) Any howto about this? thanks, István -- CenturyLink Cloud: The Leader in Enterprise Cloud Services. Learn Why More Businesses Are Choosing CenturyLink Cloud For Critical Workloads, Development Environments Everything In Between. Get a Quote or Start a Free Trial Today. http://pubads.g.doubleclick.net/gampad/clk?id=119420431iu=/4140/ostg.clktrk___ Ledger-smb-devel mailing list Ledger-smb-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/ledger-smb-devel
Re: [Ledger-smb-devel] How to use budgetting addon?
eredeti üzenet- Feladó: Chris Travers chris.trav...@gmail.com Címzett: Development discussion for LedgerSMB ledger-smb-devel@lists.sourceforge.net Dátum: Thu, 9 Jan 2014 05:42:26 -0800 -- So you can essentially record what your target spending or income is, etc. Then later you can run a variance report. The report basically looks at the period specified and gives you a list of budgetted amounts, actual amounts, and the difference. Thanks Chris, Do I need an other addon to get the report working? For example I saw a reporting framework, but never tested. Cheers, István -- CenturyLink Cloud: The Leader in Enterprise Cloud Services. Learn Why More Businesses Are Choosing CenturyLink Cloud For Critical Workloads, Development Environments Everything In Between. Get a Quote or Start a Free Trial Today. http://pubads.g.doubleclick.net/gampad/clk?id=119420431iu=/4140/ostg.clktrk___ Ledger-smb-devel mailing list Ledger-smb-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/ledger-smb-devel
Re: [Ledger-smb-devel] Looking at putting together an add-on for Washington State's sales tax
Hi, Chris, The problem might be getting a bit more complicated than just Washington: http://www.marketplacefairness.org/what-is-the-marketplace-fairness-act/ ... this act was approved by the Senate last spring, and is in committee in the House, expected to pass but there are other priorities ahead of it. Once it does, the quarter starting 6 months after passing will be when it goes into effect. https://taxcloud.net/default.aspx is a free web service sponsored by the participating states to handle determining what is taxable and at what rate, based on the destination address. Providing a tax module that talks to this service, and setting up parts so that they can be tagged with the appropriate code, might be a big win for the project if this legislation passes. For #1, to me this is the main difference between a Point-of-sale and a shipping system. I would say something along the following lines, in sequence (first match wins): * Transaction done using POS: use store address * Use ship-to address if exists * Use billing address if exists * Use store address ... perhaps we have a Ship-to that can be the store address? ... as I look at the sales invoice, I'm not seeing an option to select a shipping address. Shouldn't it be possible to have multiple shipping addresses associated with a customer? Then we could populate a drop-down, one of the addresses can be set as default, and the store can be an option. #2, not sure what you're asking, what's wrong with the current display? I think the main thing is we need the rate, the basis, the location code, and probably the taxing authority. I don't know that there can be different rates within the same order (same destination) -- as far as I'm aware, there are not different rates for different kinds of products -- but if there are it might be necessary to have multiple tax lines. One consideration is whether shipping/handling is taxable or not... Cheers, John Locke On 01/09/2014 02:55 AM, Chris Travers wrote: Hi everyone; I know we still have some users in Washington State. I would like to modularize this so that other location-based tax systems could work as well. My thinking is to put together a class which handles locations (and delivery vs non-delivery handling) and then inherit from that something that would look up the tax code and rate for a jurisdiction. This leads to a couple of important questions: 1. How do we want to address delivered vs nondelivered? A default in defaults? Just use the presence of a ship-to address (my preference)? 2. How do we want to handle display? -- Best Wishes, Chris Travers Efficito: Hosted Accounting and ERP. Robust and Flexible. No vendor lock-in. http://www.efficito.com/learn_more.shtml !DSPAM:52ce801f35501629111686! -- CenturyLink Cloud: The Leader in Enterprise Cloud Services. Learn Why More Businesses Are Choosing CenturyLink Cloud For Critical Workloads, Development Environments Everything In Between. Get a Quote or Start a Free Trial Today. http://pubads.g.doubleclick.net/gampad/clk?id=119420431iu=/4140/ostg.clktrk !DSPAM:52ce801f35501629111686! ___ Ledger-smb-devel mailing list Ledger-smb-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/ledger-smb-devel !DSPAM:52ce801f35501629111686! -- CenturyLink Cloud: The Leader in Enterprise Cloud Services. Learn Why More Businesses Are Choosing CenturyLink Cloud For Critical Workloads, Development Environments Everything In Between. Get a Quote or Start a Free Trial Today. http://pubads.g.doubleclick.net/gampad/clk?id=119420431iu=/4140/ostg.clktrk___ Ledger-smb-devel mailing list Ledger-smb-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/ledger-smb-devel
Re: [Ledger-smb-devel] Looking at putting together an add-on for Washington State's sales tax
Hi John, On Thu, Jan 9, 2014 at 7:50 PM, John Locke m...@freelock.com wrote: #2, not sure what you're asking, what's wrong with the current display? I think the main thing is we need the rate, the basis, the location code, and probably the taxing authority. I don't know that there can be different rates within the same order (same destination) -- as far as I'm aware, there are not different rates for different kinds of products -- but if there are it might be necessary to have multiple tax lines. One consideration is whether shipping/handling is taxable or not... In the NL (and other EU countries), we have two rates: one for primary living needs (6% taxed; food, drinks, etc.) and 20% for the rest. However, we also have services which are tax exempt (banking, education to children). This is all within the NL. If we start crossing EU boundaries, things start to be more complex: many services are taxable in the country of the customer, meaning that they are neither tax exempt no taxed with the vendor (they are what's called subject to self-billing). However, much of what's required to service this, seems to be supported by the simple tax module. -- Bye, Erik. http://efficito.com -- Hosted accounting and ERP. Robust and Flexible. No vendor lock-in. -- CenturyLink Cloud: The Leader in Enterprise Cloud Services. Learn Why More Businesses Are Choosing CenturyLink Cloud For Critical Workloads, Development Environments Everything In Between. Get a Quote or Start a Free Trial Today. http://pubads.g.doubleclick.net/gampad/clk?id=119420431iu=/4140/ostg.clktrk___ Ledger-smb-devel mailing list Ledger-smb-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/ledger-smb-devel
[Ledger-smb-devel] PNL report grouped by week/month/quarter/year
Hi, I really, really needed a report that gave me a month-by-month cash flow (profit and loss) summary for the past two years. And given that I can do it much quicker in PHP and have a Drupal instance set up that already talks to my LSMB database, I implemented it there. The core SQL I took out of pnl__income_statement_cash , stripping out the business unit and year-end options. Mainly just added a field populated with date_trunc. I'm sure this could be added back to the stored function with a new parameter. In any case, here's the code I wrote. Not pretty, but got the job done for me pretty quickly... Would be great to get something like this in LSMB. I would think the first thing would be to modify pnl__income_statement_cash and pnl__income_statement_accrual with one more parameter, to specify a grouping period. Maybe some other reports, too... /** * Helper function to get report data from LSMB 14 * * @param string $dtstart Start date range * @param string $dtend End of date range * @param string $groupperiod One of null, 'week', 'month', 'quarter', 'year' * * @return object with many attached arrays. Following keys are set: * - cols Array of columns. Each column is an object containing: * - key used in data array * - label * - expense total for this column * - income total for this column * - total income - expense for this column * - rows Array of rows. Each row is an object containing: * - key used in data array * - label -- name of account * - link -- link to use for account * - accno -- Account Number * - category -- I or E * - expense -- total for this row * - income -- total for this row * - total income - expense for all rows/columns * - data array of arrays. Outer array = row, inner array = column */ function auriga_dashboard_pnl_cash($dtstart= NULL, $dtend = NULL, $groupperiod = NULL) { $params = array(); $query = SELECT a.id, a.accno, a.description, a.category, ah.id as header_id, ah.accno as header_ac cno, ah.description as header_description, ; if ($groupperiod) { $query .= date_trunc(:groupperiod, ac.transdate) AS transperiod, ; $params[':groupperiod'] = $groupperiod; } $query .= CASE WHEN a.category = 'E' THEN -1 ELSE 1 END * sum(ac.amount) AS amount, at.path FROM account a JOIN account_heading ah on a.heading = ah.id JOIN acc_trans ac ON a.id = ac.chart_id AND ac.approved JOIN tx_report gl ON ac.trans_id = gl.id AND gl.approved JOIN account_heading_tree at ON a.heading = at.id WHERE ac.approved is true ; if ($dtstart) { $query .= AND (ac.transdate = :dtstart) ; $params[':dtstart'] = $dtstart; } if ($dtend) { $query .= AND (ac.transdate = :dtend) ; $params[':dtend'] = $dtend; } $query .= AND a.category IN ('I', 'E') GROUP BY a.id, a.accno, ; if ($groupperiod) { $query .= transperiod, ; } $query .= a.description, a.category, ah.id, ah.accno, ah.description, at.path ORDER BY a.category DESC, a.accno ASC ; if ($groupperiod) { $query .= , transperiod; } db_set_active('lsmb14'); $result = db_query($query, $params); $items = $result-fetchAll(); db_set_active(); // now let's build our arrays... $cols = array(); $rows = array(); $data = array(); $total = 0; foreach ($items as $item) { $type = $item-category == 'I' ? 'income' : 'expense'; if (empty($rows[$item-accno])) { $rows[$item-accno] = array( 'key' = $item-accno, 'label' = $item-description, 'accno' = $item-accno, 'link' = $item-path, 'category' = $item-category, 'expense' = 0, 'income' = 0, ); } $rows[$item-accno][$type] += $item-amount; $perioddate = strtotime($item-transperiod); switch ($groupperiod) { case 'week': $period = date('Y',$perioddate).' Week '.date('W', $perioddate); break; case 'month': $period = date('M',$perioddate).' '.date('Y', $perioddate); break; case 'year': $period = date('Y',$perioddate); break; case 'quarter': $period = date('Y',$perioddate).' Q' .ceil(date('m', $perioddate)/3); break; default: $period = $dtstart . ' - ' . $dtend; } if (empty($cols[$item-transperiod])) { $cols[$item-transperiod] = array( 'key' = $item-transperiod, 'label' = $period, 'expense' = 0, 'income' = 0, 'total' = 0, ); } $cols[$item-transperiod][$type] += $item-amount; $data[$item-accno][$item-transperiod] = $item-amount; } // Now calculate column totals... foreach ($cols as $k=$col) { $cols[$k]['total'] = $col['income'] - $col['expense']; $total += $cols[$k]['total']; } $ret = new stdClass(); $ret-rows = $rows;
Re: [Ledger-smb-devel] Managing exchange rates - in 1.3 and up
I would have responded to this last night but it is a big issue and one we also have to deal with in Efficito, since we have USD and EUR assets. On Thu, Jan 9, 2014 at 3:48 AM, Pongrácz István pongracz.ist...@gmail.comwrote: Hi, I found that, if I use more than one currencies, I can create offers/orders/invoices etc. in foreign currency when my customer/vendor has an account with that currency. In this case I am able to set an exchange rate for a specific day. The simplest rule in here (Hungary) to use the MNB's daily exchange rate (MNB is similar to FED or other central bank, which controls the country policy or whatever). Right. That's more or less where we are with Efficito too. As I do businessess in worldwide (vendors, customers sometimes in the EU and outside of EU), sometimes it happens, wrong exchange rate entered and needs to adjust it. Typical is, copy the value from somewhere else by Ctrl+C - Ctrl+V and the value format is wrong: like 221,38 become 22138 when it saved. It can happen and will happen. This will have to be addressed before import. My recommendation is you use a Perl script using our PGNumber, and an appropriate input format. An other example, in the same day I issue an invoice for USD and I entered the MNB's exchange rate, but I also receive for example some USD into my bank account, but the bank converts it in his exchange rate which different than MNB. Yes, this is an issue with our current approach. Currently the best way to handle this is to adjust the entry with a GL against fxgain or loss. When we rewrite the financial code, I think the most likely scenario is that we will allow a nominal daily rate (for things like invoices) and a specific negotiated rate (for things like payments). So, in SL (and the Hungarian modificaton of SL) it is possible to: - list exchange rates for a specific day (not comfortable, limited functionality) - keep track of two independent exchange rate, one is like for MNB, the other is for bank's exchange rate (this is also limited to 2) After all, my questions: - is that possible to get a list of actual exchange rates? date from-to, currency could be ok for first Not from the user interface, unfortunately. This would make a nice enhancement. - it would be nice to be able to manage these kind of issues when accidentaly wrong exchange rate entered - in this case all related transaction should be recalculated, fixed somehow in the books, but keep it somehow in the history of course Best option right now is to change it in the database. - I did not check this specifically, but how can we manage that case, when some has more than one bank accounts and some of them are in different currency and wants to keep tracking that in USD/EUR/whatever? This doesn't scale well, but best option is to issue adjustments. We need to fix this during the financial rewrite. Regarding filling up automatically the exchange rate is possible with direct sql manipulation, using a script, for example every morning or whatever. So, what is your experience/needs with exchange rates? This actually only begins to address the issues with foreign exchange rates. We are nominally multi-currency, but currently require a significant amount of manual work to keep things going. Another issue you did not address is the effect on the balance sheet of foreign exchange fluctuations and foreign currency instruments. For example, if you have a USD bank account, you need to be able to include some accounting for the fx changes. This isn't as simple as gain or loss and we need to handle it better. it can be done manually but it requires a certain amount of work, work we hope to eliminate in the future. With the above answers (mostly involving manual adjustments), I would like to share my proposal going forward. None of this will get done before 1.5. But it is a priority for me there. 1. Have nominal and actual foreign exchange rates. Invoices I think should always use nominal unless they are prepaid. This would allow certain transactions to have separate exchange rates. We would enforce a constraint that exchange rates fall within x% of nominal (set under configuration). 2. Have a UI for setting and correcting nominal exchange rates (since all transactions would have actual ones). 3. As a priority further down the list I would like to address multi-currency handling of assets so that these can be more easily reported to the balance sheet properly. 2. -- Best Wishes, Chris Travers Efficito: Hosted Accounting and ERP. Robust and Flexible. No vendor lock-in. http://www.efficito.com/learn_more.shtml -- CenturyLink Cloud: The Leader in Enterprise Cloud Services. Learn Why More Businesses Are Choosing CenturyLink Cloud For Critical Workloads, Development Environments Everything In Between. Get
Re: [Ledger-smb-devel] Looking at putting together an add-on for Washington State's sales tax
On Thu, Jan 9, 2014 at 10:50 AM, John Locke m...@freelock.com wrote: Hi, Chris, The problem might be getting a bit more complicated than just Washington: http://www.marketplacefairness.org/what-is-the-marketplace-fairness-act/ ... this act was approved by the Senate last spring, and is in committee in the House, expected to pass but there are other priorities ahead of it. Once it does, the quarter starting 6 months after passing will be when it goes into effect. Trying hard to avoid making sarcastic comments. After reading the act, trying hard to avoid making even more sarcastic comments. It is not limited to streamlined sales tax states. There is an alternate process where states can qualify to demand remote seller payment which does not require accepting the SSUTA product definitions, so a state could declare kitkats to be taxed as candy (not possible under SSUTA) and still demand remote payment. https://taxcloud.net/default.aspx is a free web service sponsored by the participating states to handle determining what is taxable and at what rate, based on the destination address. Providing a tax module that talks to this service, and setting up parts so that they can be tagged with the appropriate code, might be a big win for the project if this legislation passes. For #1, to me this is the main difference between a Point-of-sale and a shipping system. I would say something along the following lines, in sequence (first match wins): For point of sale you don't want to depend on a web service. Just use the old method. Requiring network access to a resource you don't control in an environment where you need to move people through the line fast is a recipe for trouble (do you want your cash register to be effectively down because your internet connection is slow or down). A shipping system really needs to be separate if it is going to depend on such a web service. * Transaction done using POS: use store address * Use ship-to address if exists * Use billing address if exists * Use store address ... perhaps we have a Ship-to that can be the store address? ... as I look at the sales invoice, I'm not seeing an option to select a shipping address. Shouldn't it be possible to have multiple shipping addresses associated with a customer? Click ship to and select or enter a new one. Adding a dropdown would not be hard. Basically it would replace a hidden field with a dropdown. Then we could populate a drop-down, one of the addresses can be set as default, and the store can be an option. #2, not sure what you're asking, what's wrong with the current display? I think the main thing is we need the rate, the basis, the location code, and probably the taxing authority. I don't know that there can be different rates within the same order (same destination) -- as far as I'm aware, there are not different rates for different kinds of products -- but if there are it might be necessary to have multiple tax lines. One consideration is whether shipping/handling is taxable or not... Hmmm Reading SSUTA it looks like at least two rates are allowed for each jurisdiction (food/drugs and everything else). But there are also lots of other unknowns. For example, states may define what constitutes taxable shipping and handling, or whether clothing is taxable based on how much it costs (a state-set threshold), or whether insulin is taxed under food and drugs or prescriptions (even if it requires a prescription). So one huge issue is that there are products which may clearly cross categories when crossing states. I don't know how to handle that. But that's just my cursory reading through the 200 pages of regulation. The rounding rules, we can handle. It looks like we can round the tax per item or per invoice. I would recommend per item. But that affects the display too. Best Wishes, Chris Travers Cheers, John Locke On 01/09/2014 02:55 AM, Chris Travers wrote: Hi everyone; I know we still have some users in Washington State. I would like to modularize this so that other location-based tax systems could work as well. My thinking is to put together a class which handles locations (and delivery vs non-delivery handling) and then inherit from that something that would look up the tax code and rate for a jurisdiction. This leads to a couple of important questions: 1. How do we want to address delivered vs nondelivered? A default in defaults? Just use the presence of a ship-to address (my preference)? 2. How do we want to handle display? -- Best Wishes, Chris Travers Efficito: Hosted Accounting and ERP. Robust and Flexible. No vendor lock-in. http://www.efficito.com/learn_more.shtml !DSPAM:52ce801f35501629111686! -- CenturyLink Cloud: The Leader in Enterprise Cloud Services. Learn Why More Businesses Are Choosing CenturyLink Cloud For