[Ledger-smb-devel] LedgerSMB 1.3.x and Apache v2.4?

2014-01-09 Thread Robert J. Clay
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?

2014-01-09 Thread Pongrácz István
 
 
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

2014-01-09 Thread Chris Travers
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

2014-01-09 Thread Pongrácz István

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?

2014-01-09 Thread Pongrácz István

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?

2014-01-09 Thread Pongrácz István

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

2014-01-09 Thread John Locke

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

2014-01-09 Thread Erik Huelsmann
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

2014-01-09 Thread John Locke
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

2014-01-09 Thread Chris Travers
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

2014-01-09 Thread Chris Travers
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