Index: Products/PloneGetPaid/browser/templates/portlet-content-shippable.pt
===================================================================
--- Products/PloneGetPaid/browser/templates/portlet-content-shippable.pt	(revision 3272)
+++ Products/PloneGetPaid/browser/templates/portlet-content-shippable.pt	(revision 3269)
@@ -27,20 +27,11 @@
                <i tal:content="field" />
             </p>
 
-            <tal:before condition="view/symbol_before">
             <p tal:define="field python: '%.2f' % (getattr(view.payable,'price',0) or 0)"
                tal:condition="field"
 	       i18n:translate="text_price">
                  Price: <span tal:content="view/currency" /> <span tal:content="field" i18n:name="value_price" />
             </p>
-	    </tal:before>
-	    <tal:after condition="not:view/symbol_before">
-            <p tal:define="field python: '%.2f' % (getattr(view.payable,'price',0) or 0)"
-               tal:condition="field"
-	       i18n:translate="text_price">
-                 Price: <span tal:content="field" i18n:name="value_price" /> <span tal:content="view/currency" />
-            </p>
-	    </tal:after>
 
           </div>
         </dd>
Index: Products/PloneGetPaid/browser/templates/portlet-content-buyable.pt
===================================================================
--- Products/PloneGetPaid/browser/templates/portlet-content-buyable.pt	(revision 3272)
+++ Products/PloneGetPaid/browser/templates/portlet-content-buyable.pt	(revision 3269)
@@ -26,20 +26,12 @@
                tal:condition="field">
                <i tal:content="field" />
             </p>
-            <tal:before condition="view/symbol_before">
+
             <p tal:define="field python: '%.2f' % (getattr(view.payable,'price',0) or 0)"
                tal:condition="field"
 	       i18n:translate="text_price">
                  Price: <span tal:content="view/currency" /> <span tal:content="field" i18n:name="value_price" />
             </p>
-	    </tal:before>
-	    <tal:after condition="not:view/symbol_before">
-            <p tal:define="field python: '%.2f' % (getattr(view.payable,'price',0) or 0)"
-               tal:condition="field"
-	       i18n:translate="text_price">
-                 Price: <span tal:content="field" i18n:name="value_price" /> <span tal:content="view/currency" />
-            </p>
-	    </tal:after>
 
           </div>
         </dd>
Index: Products/PloneGetPaid/browser/templates/portlet-content-donatable.pt
===================================================================
--- Products/PloneGetPaid/browser/templates/portlet-content-donatable.pt	(revision 3272)
+++ Products/PloneGetPaid/browser/templates/portlet-content-donatable.pt	(revision 3269)
@@ -27,20 +27,11 @@
                <i tal:content="field" />
             </p>
 
-            <tal:before condition="view/symbol_before">
             <p tal:define="field python: '%.2f' % (getattr(view.payable,'price',0) or 0)"
                tal:condition="field"
 	       i18n:translate="text_price">
                  Price: <span tal:content="view/currency" /> <span tal:content="field" i18n:name="value_price" />
             </p>
-	    </tal:before>
-	    <tal:after condition="not:view/symbol_before">
-            <p tal:define="field python: '%.2f' % (getattr(view.payable,'price',0) or 0)"
-               tal:condition="field"
-	       i18n:translate="text_price">
-                 Price: <span tal:content="field" i18n:name="value_price" /> <span tal:content="view/currency" />
-            </p>
-	    </tal:after>
 
           </div>
         </dd>
Index: Products/PloneGetPaid/browser/portlets/donate.py
===================================================================
--- Products/PloneGetPaid/browser/portlets/donate.py	(revision 3272)
+++ Products/PloneGetPaid/browser/portlets/donate.py	(revision 3269)
@@ -37,11 +37,3 @@
         context = self.context.aq_inner
         formatter = getUtility(ICurrencyFormatter)
         return formatter.currency(context)
-
-    def symbol_before(self):
-        context = self.context.aq_inner
-        pos = getUtility(ICurrencyFormatter)
-        if pos.order(context) == "before_value":
-            return True
-        else:
-            return False
\ No newline at end of file
Index: Products/PloneGetPaid/browser/portlets/premium.py
===================================================================
--- Products/PloneGetPaid/browser/portlets/premium.py	(revision 3272)
+++ Products/PloneGetPaid/browser/portlets/premium.py	(revision 3269)
@@ -37,11 +37,3 @@
         context = self.context.aq_inner
         formatter = getUtility(ICurrencyFormatter)
         return formatter.currency(context)
-
-    def symbol_before(self):
-        context = self.context.aq_inner
-        pos = getUtility(ICurrencyFormatter)
-        if pos.order(context) == "before_value":
-            return True
-        else:
-            return False
\ No newline at end of file
Index: Products/PloneGetPaid/browser/portlets/buy.py
===================================================================
--- Products/PloneGetPaid/browser/portlets/buy.py	(revision 3272)
+++ Products/PloneGetPaid/browser/portlets/buy.py	(revision 3269)
@@ -36,12 +36,4 @@
     def currency(self):
         context = self.context.aq_inner
         formatter = getUtility(ICurrencyFormatter)
-        return formatter.currency(context)
-    
-    def symbol_before(self):
-        context = self.context.aq_inner
-        pos = getUtility(ICurrencyFormatter)
-        if pos.order(context) == "before_value":
-            return True
-        else:
-            return False
+        return formatter.currency(context)
\ No newline at end of file
Index: Products/PloneGetPaid/browser/portlets/ship.py
===================================================================
--- Products/PloneGetPaid/browser/portlets/ship.py	(revision 3272)
+++ Products/PloneGetPaid/browser/portlets/ship.py	(revision 3269)
@@ -37,11 +37,3 @@
         context = self.context.aq_inner
         formatter = getUtility(ICurrencyFormatter)
         return formatter.currency(context)
-
-    def symbol_before(self):
-        context = self.context.aq_inner
-        pos = getUtility(ICurrencyFormatter)
-        if pos.order(context) == "before_value":
-            return True
-        else:
-            return False
\ No newline at end of file
Index: Products/PloneGetPaid/currencyformatter.py
===================================================================
--- Products/PloneGetPaid/currencyformatter.py	(revision 3272)
+++ Products/PloneGetPaid/currencyformatter.py	(revision 3269)
@@ -10,23 +10,10 @@
         portal = context.portal_url.getPortalObject()
         
 
-        # 1. read the settings
+        # 1. read the setting
         options = interfaces.IGetPaidManagementOptions(portal)
 
         # 2. format the string
         currency = options.currency_symbol
 
-        return currency
-    
-    def order(self, context):
-        """
-        @return: Wether the currency symbol is before or after the amount.
-        """
-        
-        portal = context.portal_url.getPortalObject()
-        
-        # Read the settings
-        options = interfaces.IGetPaidManagementOptions(portal)
-        
-        # Return the setting as string
-        return options.currency_formatting
\ No newline at end of file
+        return currency
\ No newline at end of file
Index: Products/PloneGetPaid/interfaces.py
===================================================================
--- Products/PloneGetPaid/interfaces.py	(revision 3272)
+++ Products/PloneGetPaid/interfaces.py	(revision 3269)
@@ -3,7 +3,6 @@
 """
 
 from zope import schema
-from zope.schema.vocabulary import SimpleVocabulary
 from zope.interface import Interface
 from zope.schema import Iterable
 from zope.app.container.interfaces import IContainer
@@ -18,10 +17,6 @@
 
 from Products.PloneGetPaid.i18n import _
 
-CURRENCY_FORMAT = SimpleVocabulary.fromItems((
-    (u"Before Value", "before_value"),
-    (u"After Value", "after_value")))
-
 class IBeforeCheckoutEvent( IObjectEvent ):
     """
     an event fired before the checkout process begins
@@ -307,9 +302,39 @@
                                    default = u"$"
                                  )
 
-    currency_formatting = schema.Choice( title = _(u"Currency Formatting"),
-                                          vocabulary=CURRENCY_FORMAT,
-                                          default = "before_value"
+    positive_currency_format = schema.TextLine( title = _(u"Positive Currency Format"),
+                                   required = False,
+                                   default = u""
+                                 )
+
+    negative_currency_format = schema.TextLine( title = _(u"Negative Currency Format"),
+                                   required = False,
+                                   default = u""
+                                 )
+
+    digit_grouping_symbol = schema.TextLine( title = _(u"Digit Grouping Symbol"),
+                                   required = False,
+                                   default = u""
+                                 )
+
+    digit_grouping_symbol = schema.TextLine( title = _(u"Number of Digits in Group"),
+                                   required = False,
+                                   default = u""
+                                 )
+
+    digit_grouping_symbol = schema.TextLine( title = _(u"Decimal Symbol"),
+                                   required = False,
+                                   default = u""
+                                 )
+
+    digits_after_decimal = schema.TextLine( title = _(u"Number of Digits After Decimal"),
+                                   required = False,
+                                   default = u"2"
+                                 )
+
+    us_currency_formatting = schema.TextLine( title = _(u"US Currency Formatting"),
+                                   required = False,
+                                   default = u""
                                  )
 
 # Emails
