[interchange-cvs] interchange - danb modified 4 files

interchange-core@icdevgroup.org interchange-core@icdevgroup.org
Sat Jul 20 12:00:01 2002


User:      danb
Date:      2002-07-20 15:59:41 GMT
Modified:  dist/foundation/etc log_transaction
Modified:  extensions/quickbooks ic_qb.pod
Modified:  extensions/quickbooks/etc trans_quickbooks
Added:     extensions/quickbooks mv_metadata-additions.asc
Log:
* Quickbooks Extension fixes and enhancements:

* Fixed: When an auto-created user orders from the same company as an exist=
ing Quickbooks customer, it overwrites the customer.
	-> Save the auto-created user id (e.g. U00001) and use it in the Customer =
Name as a unique identifier, just as logged-in users.

* New variables for easy customization of export features via Admin UI, doc=
umented via item-specific meta referenced in the ic_qb.pod.

* Fixed: "INTL" showing up without country (now matches US or USA)

* Put the company name on a separate line in Ship-to and Bill-to addresses.
	- Now utilizing all 5 lines

* Item names allowed length up to 45 (may cause problems with versions olde=
r than 2000).

* Optionally cause Quickbooks invoice number to be blank, to keep Quickbook=
s invoice number progression unmodified.

Revision  Changes    Path
2.1       +1 -1      interchange/dist/foundation/etc/log_transaction


rev 2.1, prev_rev 2.0
Index: log_transaction
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
RCS file: /var/cvs/interchange/dist/foundation/etc/log_transaction,v
retrieving revision 2.0
retrieving revision 2.1
diff -u -r2.0 -r2.1
--- log_transaction	18 Jul 2001 02:20:59 -0000	2.0
+++ log_transaction	20 Jul 2002 15:59:41 -0000	2.1
@@ -160,7 +160,7 @@
 [userdb save]
=20
 [if scratch auto_create]
-	Logout auto-created user: [userdb function=3Dlogout clear=3D0 clear_cart=
=3D0]
+	Logout auto-created user: [seti auto_username show=3D1][userdb function=
=3Dlogout clear=3D0 clear_cart=3D0][/seti][scratch auto_username]
 [/if]
=20
 [comment]Past add data entry.[/comment]



2.1       +34 -0     interchange/extensions/quickbooks/ic_qb.pod


rev 2.1, prev_rev 2.0
Index: ic_qb.pod
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
RCS file: /var/cvs/interchange/extensions/quickbooks/ic_qb.pod,v
retrieving revision 2.0
retrieving revision 2.1
diff -u -r2.0 -r2.1
--- ic_qb.pod	18 Jul 2001 02:22:48 -0000	2.0
+++ ic_qb.pod	20 Jul 2002 15:59:41 -0000	2.1
@@ -216,6 +216,40 @@
 Also, you can use other methods to set order routes. See the Interchange
 reference documentation.
=20
+=3Dhead2 Additional Variables
+
+Optionally, you may specify some variables that modify the behavior of the
+Quickbooks export feature.  Below is a command that will append the empty =
variables to
+your variable.txt file.
+=20
+ cat >>/path/to/your/products/variable.txt  <<EOF
+ QB_DISABLE_DOCNUM		Quickbooks
+ QB_TITLE_PREFIX		Quickbooks
+ QB_FILE_SUFFIX		Quickbooks
+ QB_SHIPPING_ACCOUNT		Quickbooks
+ QB_SHIPPING_ITEM		Quickbooks
+ QB_DEFAULT_ACCOUNT		Quickbooks
+ QB_SALES_TAX_ACCOUNT		Quickbooks
+ QB_SALES_TAX_AGENCY		Quickbooks
+ QB_SALES_TAX_ITEM		Quickbooks
+ EOF
+
+Documentation for these variables is provided via item-specific meta data,=
 which can
+be added to your mv_metadata.asc file for automatic display by the Admin U=
I.  See=20
+
+See the mv_metadata-additions.asc file in this directory, and parhaps appe=
nd its
+contents to your mv_metadata.asc file:
+=20
+ cat >>/path/to/your/products/mv_metadata.asc  <mv_metadata-additions.asc
+
+=3Dhead2 Compatibility Modifications
+
+Quickbooks versions 6.0 and 99 may have a problem with item names that are=
 longer
+than 30 characters.  The current version limits the item names to 45 chara=
cters=20
+(known to work on Quickbooks 2000 and later version), but can be easily ch=
anged in
+the etc/trans_quickbooks file.  Please report any compatibility problems t=
o the=20
+interchange-users@icdevgroup.org mailing list.
+=20
 =3Dhead2 Restart the catalog
=20
 This can be done by restarting the Interchange server or by clicking



2.1                  interchange/extensions/quickbooks/mv_metadata-addition=
s.asc


rev 2.1, prev_rev 2.0



2.3       +33 -28    interchange/extensions/quickbooks/etc/trans_quickbooks


rev 2.3, prev_rev 2.2
Index: trans_quickbooks
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
RCS file: /var/cvs/interchange/extensions/quickbooks/etc/trans_quickbooks,v
retrieving revision 2.2
retrieving revision 2.3
diff -u -r2.2 -r2.3
--- trans_quickbooks	25 Apr 2002 19:13:31 -0000	2.2
+++ trans_quickbooks	20 Jul 2002 15:59:41 -0000	2.3
@@ -22,28 +22,32 @@
=20
 [if value b_address1]
 [then]
-	[seti ADDR1][if value company][value company] -- [/if][if value b_fname][=
value b_fname] [value b_lname][else][value fname] [value lname][/else][/if]=
[/seti]
-	[seti ADDR2][value b_address1][if value b_address2], [value b_address2][/=
if][/seti]
-	[seti ADDR3][value b_city], [value b_state] [value b_zip][/seti]
-	[seti ADDR4][if value b_country][if value b_country ne US]INTL: [data tab=
le=3Dcountry col=3Dname key=3D"[value b_country]"][/if][/if][/seti]
-	[seti SADDR1][if value company][value company] -- [/if][value fname] [val=
ue lname][/seti]
-	[seti SADDR2][value address1][if value address2], [value address2][/if][/=
seti]
-	[seti SADDR3][value city], [value state] [value zip][/seti]
-	[seti SADDR4][if value country ne US]INTL: [data table=3Dcountry col=3Dna=
me key=3D"[value country]"][/if][/seti]
+	[seti ADDR1][if value b_fname][value b_fname] [value b_lname][else][value=
 fname] [value lname][/else][/if][/seti]
+	[seti ADDR2][if value company][value company][/if][/seti]
+	[seti ADDR3][value b_address1][if value b_address2], [value b_address2][/=
if][/seti]
+	[seti ADDR4][value b_city], [value b_state] [value b_zip][/seti]
+	[seti ADDR5][if value b_country][if !value country =3D~ /^US.*/]INTL: [da=
ta table=3Dcountry col=3Dname key=3D"[value b_country]"][/if][/if][/seti]
+	[seti SADDR1][value fname] [value lname][/seti]
+	[seti SADDR2][if value company][value company][/if][/seti]
+	[seti SADDR3][value address1][if value address2], [value address2][/if][/=
seti]
+	[seti SADDR4][value city], [value state] [value zip][/seti]
+	[seti SADDR5][if value country][if !value country =3D~ /^US.*/]INTL: [dat=
a table=3Dcountry col=3Dname key=3D"[value country]"][/if][/if][/seti]
 [/then]
 [else]
-	[seti ADDR1][if value company][value company] -- [/if][value fname] [valu=
e lname][/seti]
-	[seti ADDR2][value address1][if value address2], [value address2][/if][/s=
eti]
-	[seti ADDR3][value city], [value state] [value zip][/seti]
-	[seti ADDR4][if value country ne US]INTL: [data table=3Dcountry col=3Dnam=
e key=3D"[value country]"][/if][/seti]
-	[seti SADDR1][if value company][value company] -- [/if][value fname] [val=
ue lname][/seti]
-	[seti SADDR2][value address1][if value address2], [value address2][/if][/=
seti]
-	[seti SADDR3][value city], [value state] [value zip][/seti]
-	[seti SADDR4][if value country ne US]INTL: [data table=3Dcountry col=3Dna=
me key=3D"[value country]"][/if][/seti]
+	[seti ADDR1][value fname] [value lname][/seti]
+	[seti ADDR2][if value company][value company][/if][/seti]
+	[seti ADDR3][value address1][if value address2], [value address2][/if][/s=
eti]
+	[seti ADDR4][value city], [value state] [value zip][/seti]
+	[seti ADDR5][if value country][if !value country =3D~ /^US.*/]INTL: [data=
 table=3Dcountry col=3Dname key=3D"[value country]"][/if][/if][/seti]
+	[seti SADDR1][value fname] [value lname][/seti]
+	[seti SADDR2][if value company][value company][/if][/seti]
+	[seti SADDR3][value address1][if value address2], [value address2][/if][/=
seti]
+	[seti SADDR4][value city], [value state] [value zip][/seti]
+	[seti SADDR5][if value country][if !value country =3D~ /^US.*/]INTL: [dat=
a table=3Dcountry col=3Dname key=3D"[value country]"][/if][/if][/seti]
 [/else]
 [/if]
=20
-[seti CUSTNAME][either][value company][or][value lname], [value fname][/ei=
ther] ([data session username])[/seti]
+[seti CUSTNAME][either][value company][or][value lname], [value fname][/ei=
ther] ([either][scratch auto_username][or][data session username][/either])=
[/seti]
 [set TRNSTYPE]INVOICE[/set]
 [seti DATE][tag time]%m/%d/%y[/tag][/seti]
 [seti FILEDATE][tag time]%Y%m%d[/tag][/seti]
@@ -84,7 +88,7 @@
 [comment]MIDINIT[/comment]
 [value lname]
 [comment]CUSTFLD1[/comment]
-[comment]CUSTFLD2[/comment]
+[value email][comment]CUSTFLD2[/comment]
 [comment]CUSTFLD3[/comment]
 [value email]
 [comment]CUSTFLD5[/comment]
@@ -106,17 +110,18 @@
 [comment]JOBDESC[/comment]
 N
 __STORE_ID__[/filter]
-!TRNS	TRNSTYPE	DATE	ACCNT	NAME	CLASS	AMOUNT	DOCNUM	MEMO	CLEAR	TOPRINT	NAME=
ISTAXABLE	ADDR1	ADDR2	ADDR3	ADDR4	ADDR5	SADDR1	SADDR2	SADDR3	SADDR4	SADDR5
+!TRNS	TRNSID	TRNSTYPE	DATE	ACCNT	NAME	CLASS	AMOUNT	[if !var QB_DISABLE_DOC=
NUM]DOCNUM[/if]	MEMO	CLEAR	TOPRINT	NAMEISTAXABLE	ADDR1	ADDR2	ADDR3	ADDR4	AD=
DR5	SADDR1	SADDR2	SADDR3	SADDR4	SADDR5
 !SPL	SPLID	TRNSTYPE	DATE	ACCNT	NAME	CLASS	AMOUNT	DOCNUM	MEMO	CLEAR	QNTY	PR=
ICE	INVITEM	PAYMETH	TAXABLE	VALADJ	SERVICEDATE	OTHER2	EXTRA
 !ENDTRNS
 [filter tabbed]TRNS
+[value mv_order_number]
 [scratch TRNSTYPE]
 [scratch DATE]
 Accounts Receivable
 [scratch CUSTNAME]
=20
 [total-cost noformat=3D1]
-[value mv_order_number]
+[if !var QB_DISABLE_DOCNUM][value mv_order_number][/if]
 [value name=3Dgift_note filter=3Dmac] - Order Number: [value mv_order_numb=
er]
 N
 N
@@ -135,7 +140,7 @@
 [fcounter etc/qbline.number]
 [scratch TRNSTYPE]
 [scratch DATE]
-[if-item-data inventory account][item-data inventory account][else]Other I=
ncome[/else][/if-item-data]
+[either][item-data inventory account][or][var QB_DEFAULT_ACCOUNT][or]Other=
 Income[/either]
 [scratch CUSTNAME]
=20
 -[item-subtotal noformat]
@@ -144,7 +149,7 @@
 N
 -[item-quantity]
 [item-price noformat=3D1]
-[item-filter 30][item-field title][/item-filter]
+[item-filter 45][var QB_TITLE_PREFIX][item-field title][/item-filter]
=20
 [if-item-field nontaxable]N[else][scratch NAMEISTAXABLE][/else][/if-item-f=
ield]
 N
@@ -155,7 +160,7 @@
 [fcounter etc/qbline.number]
 [scratch TRNSTYPE]
 [scratch DATE]
-Other Income
+[either][var QB_SHIPPING_ACCOUNT][or]Other Income[/either]=20
 [scratch CUSTNAME]
=20
 -[shipping noformat=3D1]
@@ -164,7 +169,7 @@
 N
 -1
 [shipping noformat=3D1]
-Shipping
+[either][var QB_SHIPPING_ITEM][or]Shipping[/either]
=20
 N
 N
@@ -175,8 +180,8 @@
 [fcounter etc/qbline.number]
 [scratch TRNSTYPE]
 [scratch DATE]
-Sales Tax Payable
-State Board of Equalization
+[either][var QB_SALES_TAX_ACCOUNT][or]Sales Tax Payable[/either]
+[either][var QB_SALES_TAX_AGENCY][or]State Board of Equalization[/either]
=20
 -[salestax noformat=3D1]
 [value mv_order_number]
@@ -184,7 +189,7 @@
 N
 -1
=20
-Sales Tax Item
+[either][var QB_SALES_TAX_ITEM][or]Sales Tax Item[/either]
=20
 N
 N
@@ -198,7 +203,7 @@
 	$Scratch->{qb_trans} =3D~ s/\s*$/\r\n/;
 	return;
 [/calc]
-Logging transaction to orders/qb[scratch FILEDATE].iif: [tag op=3Dlog umas=
k=3D022 file=3D"orders/qb[scratch FILEDATE].iif" type=3Dtext interpolate=3D=
1][scratch qb_trans]
+Logging transaction to orders/qb[either][var QB_FILE_SUFFIX][or][scratch F=
ILEDATE][/either].iif: [tag op=3Dlog umask=3D022 file=3D"orders/qb[value mv=
_order_number].iif" type=3Dtext interpolate=3D1][scratch qb_trans]
 [/tag]
=20
 [calc]