Index: src/business/business-core/gncCustomer.c
===================================================================
--- src/business/business-core/gncCustomer.c	(revision 14296)
+++ src/business/business-core/gncCustomer.c	(working copy)
@@ -305,6 +305,19 @@
   gncCustomerCommitEdit (cust);
 }
 
+static void qofCustomerSetCurrency (GncCustomer *cust, const char *mnemonic)
+{
+  gnc_commodity_table *table;
+  
+  if (!cust || !mnemonic) return;
+  table = gnc_commodity_table_get_table(qof_instance_get_book(&cust->inst));
+  
+  gncCustomerBeginEdit (cust);
+  cust->currency = gnc_commodity_table_lookup(table, GNC_COMMODITY_NS_CURRENCY, mnemonic);
+  mark_customer (cust);
+  gncCustomerCommitEdit (cust);
+}
+
 void gncCustomerSetTaxTableOverride (GncCustomer *customer, gboolean override)
 {
   if (!customer) return;
@@ -469,6 +482,12 @@
   return cust->currency;
 }
 
+static const char* qofCustomerGetCurrency (GncCustomer *cust)
+{
+  if (!cust) return NULL;
+  return gnc_commodity_get_mnemonic(cust->currency);
+}
+
 gboolean gncCustomerGetActive (GncCustomer *cust)
 {
   if (!cust) return FALSE;
@@ -576,6 +595,7 @@
 	{ CUSTOMER_TERMS, GNC_ID_BILLTERM, (QofAccessFunc)gncCustomerGetTerms, (QofSetterFunc)gncCustomerSetTerms },
 	{ CUSTOMER_SLOTS, QOF_TYPE_KVP, (QofAccessFunc)qof_instance_get_slots, NULL },
     { QOF_PARAM_ACTIVE, QOF_TYPE_BOOLEAN, (QofAccessFunc)gncCustomerGetActive, (QofSetterFunc)gncCustomerSetActive },
+    { CUSTOMER_CURRENCY, QOF_TYPE_STRING, (QofAccessFunc)qofCustomerGetCurrency, (QofSetterFunc)qofCustomerSetCurrency },
     { QOF_PARAM_BOOK, QOF_ID_BOOK, (QofAccessFunc)qof_instance_get_book, NULL },
     { QOF_PARAM_GUID, QOF_TYPE_GUID, (QofAccessFunc)qof_instance_get_guid, NULL },
     { NULL },
Index: src/business/business-core/gncCustomer.h
===================================================================
--- src/business/business-core/gncCustomer.h	(revision 14296)
+++ src/business/business-core/gncCustomer.h	(working copy)
@@ -138,6 +138,7 @@
 #define CUSTOMER_TAX_INC    "customer_tax_included"
 #define CUSTOMER_TERMS      "customer_terms"
 #define CUSTOMER_ACTIVE     "customer_is_active"
+#define CUSTOMER_CURRENCY   "currency"
 #define CUSTOMER_SLOTS      "customer_values"
 
 /** @deprecated functions, should be removed */
