diff --git a/src-db/database/model/tables/OBPOS_APP_PAYMENT.xml b/src-db/database/model/tables/OBPOS_APP_PAYMENT.xml
--- a/src-db/database/model/tables/OBPOS_APP_PAYMENT.xml
+++ b/src-db/database/model/tables/OBPOS_APP_PAYMENT.xml
@@ -37,7 +37,7 @@
         <default/>
         <onCreateDefault/>
       </column>
-      <column name="FIN_FINANCIAL_ACCOUNT_ID" primaryKey="false" required="true" type="VARCHAR" size="32" autoIncrement="false">
+      <column name="FIN_FINANCIAL_ACCOUNT_ID" primaryKey="false" required="false" type="VARCHAR" size="32" autoIncrement="false">
         <default/>
         <onCreateDefault/>
       </column>
diff --git a/src-db/database/model/tables/OBPOS_APP_PAYMENT_TYPE.xml b/src-db/database/model/tables/OBPOS_APP_PAYMENT_TYPE.xml
--- a/src-db/database/model/tables/OBPOS_APP_PAYMENT_TYPE.xml
+++ b/src-db/database/model/tables/OBPOS_APP_PAYMENT_TYPE.xml
@@ -81,7 +81,7 @@
         <default/>
         <onCreateDefault/>
       </column>
-      <column name="C_GLITEM_DIFF_ID" primaryKey="false" required="true" type="VARCHAR" size="32" autoIncrement="false">
+      <column name="C_GLITEM_DIFF_ID" primaryKey="false" required="false" type="VARCHAR" size="32" autoIncrement="false">
         <default/>
         <onCreateDefault/>
       </column>
@@ -149,6 +149,10 @@
         <default><![CDATA[N]]></default>
         <onCreateDefault/>
       </column>
+      <column name="LEAVEASCREDIT" primaryKey="false" required="true" type="CHAR" size="1" autoIncrement="false">
+        <default><![CDATA[N]]></default>
+        <onCreateDefault/>
+      </column>
       <foreign-key foreignTable="AD_CLIENT" name="OBPOS_APPPAYTYPE_AD_CLIENT">
         <reference local="AD_CLIENT_ID" foreign="AD_CLIENT_ID"/>
       </foreign-key>
@@ -195,6 +199,7 @@
       <check name="OBPOS_APP_PAYTYPE_DEPGL_CHK"><![CDATA[(ALLOWDEPOSITS = 'N') OR (C_GLITEM_DEPOSITS_ID IS NOT NULL)]]></check>
       <check name="OBPOS_APP_PAYTYPE_DROPGL_CHK"><![CDATA[(ALLOWDROPS = 'N') OR (C_GLITEM_DROPS_ID IS NOT NULL)]]></check>
       <check name="OBPOS_APP_PAYTYPE_FIXEDAM_CHK"><![CDATA[(KEEPFIXEDAMOUNT = 'N') OR (AMOUNT IS NOT NULL)]]></check>
+      <check name="OBPOS_APPPAY_LEAVECREDIT_CHK"><![CDATA[LEAVEASCREDIT IN ('Y', 'N')]]></check>
       <check name="OBPOS_APPPAYTYPE_AUTO_CHK"><![CDATA[AUTOMATEMOVEMENTTOOTHER IN ('Y', 'N')]]></check>
       <check name="OBPOS_APPPAYTYPE_CASH_CHK"><![CDATA[ISCASH IN ('Y', 'N')]]></check>
       <check name="OBPOS_APPPAYTYPE_COUNTCASH_CHK"><![CDATA[COUNTCASH IN ('Y', 'N')]]></check>
diff --git a/src-db/database/sourcedata/AD_AUXILIARINPUT.xml b/src-db/database/sourcedata/AD_AUXILIARINPUT.xml
new file mode 100644
--- /dev/null
+++ b/src-db/database/sourcedata/AD_AUXILIARINPUT.xml
@@ -0,0 +1,14 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<data>
+<!--D04496856E194B3A800EC08C0E09B842--><AD_AUXILIARINPUT>
+<!--D04496856E194B3A800EC08C0E09B842-->  <AD_AUXILIARINPUT_ID><![CDATA[D04496856E194B3A800EC08C0E09B842]]></AD_AUXILIARINPUT_ID>
+<!--D04496856E194B3A800EC08C0E09B842-->  <AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID>
+<!--D04496856E194B3A800EC08C0E09B842-->  <AD_ORG_ID><![CDATA[0]]></AD_ORG_ID>
+<!--D04496856E194B3A800EC08C0E09B842-->  <ISACTIVE><![CDATA[Y]]></ISACTIVE>
+<!--D04496856E194B3A800EC08C0E09B842-->  <AD_TAB_ID><![CDATA[027E3BB9B7114CA68F976D0C0133E682]]></AD_TAB_ID>
+<!--D04496856E194B3A800EC08C0E09B842-->  <NAME><![CDATA[FinAcc_Disabled]]></NAME>
+<!--D04496856E194B3A800EC08C0E09B842-->  <CODE><![CDATA[@SQL=SELECT LEAVEASCREDIT FROM OBPOS_APP_PAYMENT_TYPE WHERE OBPOS_APP_PAYMENT_TYPE_ID = @OBPOS_APP_PAYMENT_TYPE_ID@]]></CODE>
+<!--D04496856E194B3A800EC08C0E09B842-->  <AD_MODULE_ID><![CDATA[FF808181326CC34901326D53DBCF0018]]></AD_MODULE_ID>
+<!--D04496856E194B3A800EC08C0E09B842--></AD_AUXILIARINPUT>
+
+</data>
diff --git a/src-db/database/sourcedata/AD_COLUMN.xml b/src-db/database/sourcedata/AD_COLUMN.xml
--- a/src-db/database/sourcedata/AD_COLUMN.xml
+++ b/src-db/database/sourcedata/AD_COLUMN.xml
@@ -1798,6 +1798,40 @@
 <!--24723B46017345AFB4E5413AF3526776-->  <ISUSEDSEQUENCE><![CDATA[N]]></ISUSEDSEQUENCE>
 <!--24723B46017345AFB4E5413AF3526776--></AD_COLUMN>
 
+<!--24CA9F6F48DA4453911DDCA77DA7DE2B--><AD_COLUMN>
+<!--24CA9F6F48DA4453911DDCA77DA7DE2B-->  <AD_COLUMN_ID><![CDATA[24CA9F6F48DA4453911DDCA77DA7DE2B]]></AD_COLUMN_ID>
+<!--24CA9F6F48DA4453911DDCA77DA7DE2B-->  <AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID>
+<!--24CA9F6F48DA4453911DDCA77DA7DE2B-->  <AD_ORG_ID><![CDATA[0]]></AD_ORG_ID>
+<!--24CA9F6F48DA4453911DDCA77DA7DE2B-->  <ISACTIVE><![CDATA[Y]]></ISACTIVE>
+<!--24CA9F6F48DA4453911DDCA77DA7DE2B-->  <NAME><![CDATA[Leaveascredit]]></NAME>
+<!--24CA9F6F48DA4453911DDCA77DA7DE2B-->  <COLUMNNAME><![CDATA[Leaveascredit]]></COLUMNNAME>
+<!--24CA9F6F48DA4453911DDCA77DA7DE2B-->  <AD_TABLE_ID><![CDATA[B096FDF43917472D8FDE9693E9CCFFD4]]></AD_TABLE_ID>
+<!--24CA9F6F48DA4453911DDCA77DA7DE2B-->  <AD_REFERENCE_ID><![CDATA[20]]></AD_REFERENCE_ID>
+<!--24CA9F6F48DA4453911DDCA77DA7DE2B-->  <FIELDLENGTH><![CDATA[1]]></FIELDLENGTH>
+<!--24CA9F6F48DA4453911DDCA77DA7DE2B-->  <DEFAULTVALUE><![CDATA[N]]></DEFAULTVALUE>
+<!--24CA9F6F48DA4453911DDCA77DA7DE2B-->  <ISKEY><![CDATA[N]]></ISKEY>
+<!--24CA9F6F48DA4453911DDCA77DA7DE2B-->  <ISPARENT><![CDATA[N]]></ISPARENT>
+<!--24CA9F6F48DA4453911DDCA77DA7DE2B-->  <ISMANDATORY><![CDATA[Y]]></ISMANDATORY>
+<!--24CA9F6F48DA4453911DDCA77DA7DE2B-->  <ISUPDATEABLE><![CDATA[Y]]></ISUPDATEABLE>
+<!--24CA9F6F48DA4453911DDCA77DA7DE2B-->  <ISIDENTIFIER><![CDATA[N]]></ISIDENTIFIER>
+<!--24CA9F6F48DA4453911DDCA77DA7DE2B-->  <SEQNO><![CDATA[445]]></SEQNO>
+<!--24CA9F6F48DA4453911DDCA77DA7DE2B-->  <ISTRANSLATED><![CDATA[N]]></ISTRANSLATED>
+<!--24CA9F6F48DA4453911DDCA77DA7DE2B-->  <ISENCRYPTED><![CDATA[N]]></ISENCRYPTED>
+<!--24CA9F6F48DA4453911DDCA77DA7DE2B-->  <ISSELECTIONCOLUMN><![CDATA[N]]></ISSELECTIONCOLUMN>
+<!--24CA9F6F48DA4453911DDCA77DA7DE2B-->  <AD_ELEMENT_ID><![CDATA[9E94E84AB7E54849ABE0CEF12E6E9414]]></AD_ELEMENT_ID>
+<!--24CA9F6F48DA4453911DDCA77DA7DE2B-->  <ISSESSIONATTR><![CDATA[N]]></ISSESSIONATTR>
+<!--24CA9F6F48DA4453911DDCA77DA7DE2B-->  <ISSECONDARYKEY><![CDATA[N]]></ISSECONDARYKEY>
+<!--24CA9F6F48DA4453911DDCA77DA7DE2B-->  <ISDESENCRYPTABLE><![CDATA[N]]></ISDESENCRYPTABLE>
+<!--24CA9F6F48DA4453911DDCA77DA7DE2B-->  <DEVELOPMENTSTATUS><![CDATA[RE]]></DEVELOPMENTSTATUS>
+<!--24CA9F6F48DA4453911DDCA77DA7DE2B-->  <AD_MODULE_ID><![CDATA[FF808181326CC34901326D53DBCF0018]]></AD_MODULE_ID>
+<!--24CA9F6F48DA4453911DDCA77DA7DE2B-->  <POSITION><![CDATA[36]]></POSITION>
+<!--24CA9F6F48DA4453911DDCA77DA7DE2B-->  <ISTRANSIENT><![CDATA[N]]></ISTRANSIENT>
+<!--24CA9F6F48DA4453911DDCA77DA7DE2B-->  <ISAUTOSAVE><![CDATA[Y]]></ISAUTOSAVE>
+<!--24CA9F6F48DA4453911DDCA77DA7DE2B-->  <VALIDATEONNEW><![CDATA[Y]]></VALIDATEONNEW>
+<!--24CA9F6F48DA4453911DDCA77DA7DE2B-->  <IMAGESIZEVALUESACTION><![CDATA[N]]></IMAGESIZEVALUESACTION>
+<!--24CA9F6F48DA4453911DDCA77DA7DE2B-->  <ISUSEDSEQUENCE><![CDATA[N]]></ISUSEDSEQUENCE>
+<!--24CA9F6F48DA4453911DDCA77DA7DE2B--></AD_COLUMN>
+
 <!--25201F26AB3647C598A1539E7F1C03DF--><AD_COLUMN>
 <!--25201F26AB3647C598A1539E7F1C03DF-->  <AD_COLUMN_ID><![CDATA[25201F26AB3647C598A1539E7F1C03DF]]></AD_COLUMN_ID>
 <!--25201F26AB3647C598A1539E7F1C03DF-->  <AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID>
@@ -2269,7 +2303,7 @@
 <!--349309D809134679955395B9655E8236-->  <FIELDLENGTH><![CDATA[32]]></FIELDLENGTH>
 <!--349309D809134679955395B9655E8236-->  <ISKEY><![CDATA[N]]></ISKEY>
 <!--349309D809134679955395B9655E8236-->  <ISPARENT><![CDATA[N]]></ISPARENT>
-<!--349309D809134679955395B9655E8236-->  <ISMANDATORY><![CDATA[Y]]></ISMANDATORY>
+<!--349309D809134679955395B9655E8236-->  <ISMANDATORY><![CDATA[N]]></ISMANDATORY>
 <!--349309D809134679955395B9655E8236-->  <ISUPDATEABLE><![CDATA[Y]]></ISUPDATEABLE>
 <!--349309D809134679955395B9655E8236-->  <ISIDENTIFIER><![CDATA[N]]></ISIDENTIFIER>
 <!--349309D809134679955395B9655E8236-->  <SEQNO><![CDATA[220]]></SEQNO>
@@ -7539,11 +7573,13 @@
 <!--DA36F2891C2A4ED2B4CF4C838C70170E-->  <COLUMNNAME><![CDATA[FIN_Financial_Account_ID]]></COLUMNNAME>
 <!--DA36F2891C2A4ED2B4CF4C838C70170E-->  <AD_TABLE_ID><![CDATA[CCE07BDBDC344FD98E52C293A987203F]]></AD_TABLE_ID>
 <!--DA36F2891C2A4ED2B4CF4C838C70170E-->  <AD_REFERENCE_ID><![CDATA[19]]></AD_REFERENCE_ID>
+<!--DA36F2891C2A4ED2B4CF4C838C70170E-->  <AD_VAL_RULE_ID><![CDATA[7153C74CF9CC45D2BBFA524A79146269]]></AD_VAL_RULE_ID>
 <!--DA36F2891C2A4ED2B4CF4C838C70170E-->  <FIELDLENGTH><![CDATA[32]]></FIELDLENGTH>
 <!--DA36F2891C2A4ED2B4CF4C838C70170E-->  <ISKEY><![CDATA[N]]></ISKEY>
 <!--DA36F2891C2A4ED2B4CF4C838C70170E-->  <ISPARENT><![CDATA[N]]></ISPARENT>
-<!--DA36F2891C2A4ED2B4CF4C838C70170E-->  <ISMANDATORY><![CDATA[Y]]></ISMANDATORY>
+<!--DA36F2891C2A4ED2B4CF4C838C70170E-->  <ISMANDATORY><![CDATA[N]]></ISMANDATORY>
 <!--DA36F2891C2A4ED2B4CF4C838C70170E-->  <ISUPDATEABLE><![CDATA[Y]]></ISUPDATEABLE>
+<!--DA36F2891C2A4ED2B4CF4C838C70170E-->  <READONLYLOGIC><![CDATA[@FinAcc_Disabled@='Y']]></READONLYLOGIC>
 <!--DA36F2891C2A4ED2B4CF4C838C70170E-->  <ISIDENTIFIER><![CDATA[N]]></ISIDENTIFIER>
 <!--DA36F2891C2A4ED2B4CF4C838C70170E-->  <SEQNO><![CDATA[110]]></SEQNO>
 <!--DA36F2891C2A4ED2B4CF4C838C70170E-->  <ISTRANSLATED><![CDATA[N]]></ISTRANSLATED>
diff --git a/src-db/database/sourcedata/AD_ELEMENT.xml b/src-db/database/sourcedata/AD_ELEMENT.xml
--- a/src-db/database/sourcedata/AD_ELEMENT.xml
+++ b/src-db/database/sourcedata/AD_ELEMENT.xml
@@ -970,6 +970,18 @@
 <!--9A08A9CC0EAD4B1DADB9CC98D0137EE4-->  <ISGLOSSARY><![CDATA[N]]></ISGLOSSARY>
 <!--9A08A9CC0EAD4B1DADB9CC98D0137EE4--></AD_ELEMENT>
 
+<!--9E94E84AB7E54849ABE0CEF12E6E9414--><AD_ELEMENT>
+<!--9E94E84AB7E54849ABE0CEF12E6E9414-->  <AD_ELEMENT_ID><![CDATA[9E94E84AB7E54849ABE0CEF12E6E9414]]></AD_ELEMENT_ID>
+<!--9E94E84AB7E54849ABE0CEF12E6E9414-->  <AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID>
+<!--9E94E84AB7E54849ABE0CEF12E6E9414-->  <AD_ORG_ID><![CDATA[0]]></AD_ORG_ID>
+<!--9E94E84AB7E54849ABE0CEF12E6E9414-->  <ISACTIVE><![CDATA[Y]]></ISACTIVE>
+<!--9E94E84AB7E54849ABE0CEF12E6E9414-->  <COLUMNNAME><![CDATA[Leaveascredit]]></COLUMNNAME>
+<!--9E94E84AB7E54849ABE0CEF12E6E9414-->  <NAME><![CDATA[Leave as credit]]></NAME>
+<!--9E94E84AB7E54849ABE0CEF12E6E9414-->  <PRINTNAME><![CDATA[Leave as credit]]></PRINTNAME>
+<!--9E94E84AB7E54849ABE0CEF12E6E9414-->  <AD_MODULE_ID><![CDATA[FF808181326CC34901326D53DBCF0018]]></AD_MODULE_ID>
+<!--9E94E84AB7E54849ABE0CEF12E6E9414-->  <ISGLOSSARY><![CDATA[N]]></ISGLOSSARY>
+<!--9E94E84AB7E54849ABE0CEF12E6E9414--></AD_ELEMENT>
+
 <!--9E95A0C00A6C4BDF8BC7D88C0BD4292A--><AD_ELEMENT>
 <!--9E95A0C00A6C4BDF8BC7D88C0BD4292A-->  <AD_ELEMENT_ID><![CDATA[9E95A0C00A6C4BDF8BC7D88C0BD4292A]]></AD_ELEMENT_ID>
 <!--9E95A0C00A6C4BDF8BC7D88C0BD4292A-->  <AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID>
diff --git a/src-db/database/sourcedata/AD_FIELD.xml b/src-db/database/sourcedata/AD_FIELD.xml
--- a/src-db/database/sourcedata/AD_FIELD.xml
+++ b/src-db/database/sourcedata/AD_FIELD.xml
@@ -13,7 +13,7 @@
 <!--005DC166ED6C48AF89E3280213F6F6F7-->  <AD_COLUMN_ID><![CDATA[BC0C496F16C94F51A37ECF9AD0C2BDFA]]></AD_COLUMN_ID>
 <!--005DC166ED6C48AF89E3280213F6F6F7-->  <IGNOREINWAD><![CDATA[N]]></IGNOREINWAD>
 <!--005DC166ED6C48AF89E3280213F6F6F7-->  <ISDISPLAYED><![CDATA[Y]]></ISDISPLAYED>
-<!--005DC166ED6C48AF89E3280213F6F6F7-->  <DISPLAYLOGIC><![CDATA[@Automatemovementtoother@='Y']]></DISPLAYLOGIC>
+<!--005DC166ED6C48AF89E3280213F6F6F7-->  <DISPLAYLOGIC><![CDATA[@Automatemovementtoother@='Y' & @leaveascredit@='N']]></DISPLAYLOGIC>
 <!--005DC166ED6C48AF89E3280213F6F6F7-->  <DISPLAYLENGTH><![CDATA[1]]></DISPLAYLENGTH>
 <!--005DC166ED6C48AF89E3280213F6F6F7-->  <ISREADONLY><![CDATA[N]]></ISREADONLY>
 <!--005DC166ED6C48AF89E3280213F6F6F7-->  <SEQNO><![CDATA[110]]></SEQNO>
@@ -42,7 +42,7 @@
 <!--00BF273D2E3A4308B0ED31A46BD4AC52-->  <AD_COLUMN_ID><![CDATA[57CF66A9D10F48AF8DD4D07ABE392F44]]></AD_COLUMN_ID>
 <!--00BF273D2E3A4308B0ED31A46BD4AC52-->  <IGNOREINWAD><![CDATA[N]]></IGNOREINWAD>
 <!--00BF273D2E3A4308B0ED31A46BD4AC52-->  <ISDISPLAYED><![CDATA[Y]]></ISDISPLAYED>
-<!--00BF273D2E3A4308B0ED31A46BD4AC52-->  <DISPLAYLOGIC><![CDATA[@Iscash@='Y']]></DISPLAYLOGIC>
+<!--00BF273D2E3A4308B0ED31A46BD4AC52-->  <DISPLAYLOGIC><![CDATA[@Iscash@='Y' & @leaveascredit@='N']]></DISPLAYLOGIC>
 <!--00BF273D2E3A4308B0ED31A46BD4AC52-->  <DISPLAYLENGTH><![CDATA[1]]></DISPLAYLENGTH>
 <!--00BF273D2E3A4308B0ED31A46BD4AC52-->  <ISREADONLY><![CDATA[N]]></ISREADONLY>
 <!--00BF273D2E3A4308B0ED31A46BD4AC52-->  <SEQNO><![CDATA[160]]></SEQNO>
@@ -492,6 +492,7 @@
 <!--134B712F829041F58A8D96ECD5052739-->  <AD_COLUMN_ID><![CDATA[12556DBF01154B3A85F77D7587583391]]></AD_COLUMN_ID>
 <!--134B712F829041F58A8D96ECD5052739-->  <IGNOREINWAD><![CDATA[Y]]></IGNOREINWAD>
 <!--134B712F829041F58A8D96ECD5052739-->  <ISDISPLAYED><![CDATA[Y]]></ISDISPLAYED>
+<!--134B712F829041F58A8D96ECD5052739-->  <DISPLAYLOGIC><![CDATA[@leaveascredit@='N']]></DISPLAYLOGIC>
 <!--134B712F829041F58A8D96ECD5052739-->  <DISPLAYLENGTH><![CDATA[32]]></DISPLAYLENGTH>
 <!--134B712F829041F58A8D96ECD5052739-->  <ISREADONLY><![CDATA[N]]></ISREADONLY>
 <!--134B712F829041F58A8D96ECD5052739-->  <SEQNO><![CDATA[103]]></SEQNO>
@@ -772,6 +773,7 @@
 <!--2032C68C1FAF43B2B6970EF0E3CCC362-->  <AD_COLUMN_ID><![CDATA[4C31D9531AF848058BF9E66963BCD3F5]]></AD_COLUMN_ID>
 <!--2032C68C1FAF43B2B6970EF0E3CCC362-->  <IGNOREINWAD><![CDATA[N]]></IGNOREINWAD>
 <!--2032C68C1FAF43B2B6970EF0E3CCC362-->  <ISDISPLAYED><![CDATA[Y]]></ISDISPLAYED>
+<!--2032C68C1FAF43B2B6970EF0E3CCC362-->  <DISPLAYLOGIC><![CDATA[@leaveascredit@='N']]></DISPLAYLOGIC>
 <!--2032C68C1FAF43B2B6970EF0E3CCC362-->  <DISPLAYLENGTH><![CDATA[1]]></DISPLAYLENGTH>
 <!--2032C68C1FAF43B2B6970EF0E3CCC362-->  <ISREADONLY><![CDATA[N]]></ISREADONLY>
 <!--2032C68C1FAF43B2B6970EF0E3CCC362-->  <SEQNO><![CDATA[190]]></SEQNO>
@@ -999,6 +1001,7 @@
 <!--2AE3F424DF984CEC8B3FFAEB9E468577-->  <IGNOREINWAD><![CDATA[N]]></IGNOREINWAD>
 <!--2AE3F424DF984CEC8B3FFAEB9E468577-->  <AD_FIELDGROUP_ID><![CDATA[DA6785B66E1A41D98B03B2BFE5AAAB75]]></AD_FIELDGROUP_ID>
 <!--2AE3F424DF984CEC8B3FFAEB9E468577-->  <ISDISPLAYED><![CDATA[Y]]></ISDISPLAYED>
+<!--2AE3F424DF984CEC8B3FFAEB9E468577-->  <DISPLAYLOGIC><![CDATA[@leaveascredit@='N']]></DISPLAYLOGIC>
 <!--2AE3F424DF984CEC8B3FFAEB9E468577-->  <DISPLAYLENGTH><![CDATA[1]]></DISPLAYLENGTH>
 <!--2AE3F424DF984CEC8B3FFAEB9E468577-->  <ISREADONLY><![CDATA[N]]></ISREADONLY>
 <!--2AE3F424DF984CEC8B3FFAEB9E468577-->  <SEQNO><![CDATA[170]]></SEQNO>
@@ -1846,7 +1849,7 @@
 <!--49C20B545A65400E9B36E0BC9AC843F1-->  <AD_COLUMN_ID><![CDATA[D8DD5F42308E4A7893E5766DA2B0C383]]></AD_COLUMN_ID>
 <!--49C20B545A65400E9B36E0BC9AC843F1-->  <IGNOREINWAD><![CDATA[N]]></IGNOREINWAD>
 <!--49C20B545A65400E9B36E0BC9AC843F1-->  <ISDISPLAYED><![CDATA[Y]]></ISDISPLAYED>
-<!--49C20B545A65400E9B36E0BC9AC843F1-->  <DISPLAYLOGIC><![CDATA[@Allowdrops@='Y']]></DISPLAYLOGIC>
+<!--49C20B545A65400E9B36E0BC9AC843F1-->  <DISPLAYLOGIC><![CDATA[@Allowdrops@='Y' & @leaveascredit@='N']]></DISPLAYLOGIC>
 <!--49C20B545A65400E9B36E0BC9AC843F1-->  <DISPLAYLENGTH><![CDATA[32]]></DISPLAYLENGTH>
 <!--49C20B545A65400E9B36E0BC9AC843F1-->  <ISREADONLY><![CDATA[N]]></ISREADONLY>
 <!--49C20B545A65400E9B36E0BC9AC843F1-->  <SEQNO><![CDATA[180]]></SEQNO>
@@ -2465,7 +2468,7 @@
 <!--67E47907D1BE41AC80D9F3DDCF9A1BEF-->  <AD_COLUMN_ID><![CDATA[69DE59465CCE41F08575F610A4CE51C3]]></AD_COLUMN_ID>
 <!--67E47907D1BE41AC80D9F3DDCF9A1BEF-->  <IGNOREINWAD><![CDATA[N]]></IGNOREINWAD>
 <!--67E47907D1BE41AC80D9F3DDCF9A1BEF-->  <ISDISPLAYED><![CDATA[Y]]></ISDISPLAYED>
-<!--67E47907D1BE41AC80D9F3DDCF9A1BEF-->  <DISPLAYLOGIC><![CDATA[@Allowdeposits@='Y']]></DISPLAYLOGIC>
+<!--67E47907D1BE41AC80D9F3DDCF9A1BEF-->  <DISPLAYLOGIC><![CDATA[@Allowdeposits@='Y' & @leaveascredit@='N']]></DISPLAYLOGIC>
 <!--67E47907D1BE41AC80D9F3DDCF9A1BEF-->  <DISPLAYLENGTH><![CDATA[32]]></DISPLAYLENGTH>
 <!--67E47907D1BE41AC80D9F3DDCF9A1BEF-->  <ISREADONLY><![CDATA[N]]></ISREADONLY>
 <!--67E47907D1BE41AC80D9F3DDCF9A1BEF-->  <SEQNO><![CDATA[200]]></SEQNO>
@@ -2754,6 +2757,7 @@
 <!--77E9DB910177422EAD6C2649FB4559C7-->  <IGNOREINWAD><![CDATA[N]]></IGNOREINWAD>
 <!--77E9DB910177422EAD6C2649FB4559C7-->  <AD_FIELDGROUP_ID><![CDATA[F1A8FF12D50241979A7882FA69F7066B]]></AD_FIELDGROUP_ID>
 <!--77E9DB910177422EAD6C2649FB4559C7-->  <ISDISPLAYED><![CDATA[Y]]></ISDISPLAYED>
+<!--77E9DB910177422EAD6C2649FB4559C7-->  <DISPLAYLOGIC><![CDATA[@leaveascredit@='N']]></DISPLAYLOGIC>
 <!--77E9DB910177422EAD6C2649FB4559C7-->  <DISPLAYLENGTH><![CDATA[32]]></DISPLAYLENGTH>
 <!--77E9DB910177422EAD6C2649FB4559C7-->  <ISREADONLY><![CDATA[N]]></ISREADONLY>
 <!--77E9DB910177422EAD6C2649FB4559C7-->  <SEQNO><![CDATA[100]]></SEQNO>
@@ -3146,16 +3150,17 @@
 <!--8949A7E66C06454A9DAC2289ADB2E057-->  <AD_COLUMN_ID><![CDATA[DA36F2891C2A4ED2B4CF4C838C70170E]]></AD_COLUMN_ID>
 <!--8949A7E66C06454A9DAC2289ADB2E057-->  <IGNOREINWAD><![CDATA[N]]></IGNOREINWAD>
 <!--8949A7E66C06454A9DAC2289ADB2E057-->  <ISDISPLAYED><![CDATA[Y]]></ISDISPLAYED>
+<!--8949A7E66C06454A9DAC2289ADB2E057-->  <DISPLAYLOGIC><![CDATA[@FinAcc_Disabled@='N' & @Obpos_App_Payment_Type_ID@!'']]></DISPLAYLOGIC>
 <!--8949A7E66C06454A9DAC2289ADB2E057-->  <DISPLAYLENGTH><![CDATA[32]]></DISPLAYLENGTH>
 <!--8949A7E66C06454A9DAC2289ADB2E057-->  <ISREADONLY><![CDATA[N]]></ISREADONLY>
-<!--8949A7E66C06454A9DAC2289ADB2E057-->  <SEQNO><![CDATA[30]]></SEQNO>
+<!--8949A7E66C06454A9DAC2289ADB2E057-->  <SEQNO><![CDATA[40]]></SEQNO>
 <!--8949A7E66C06454A9DAC2289ADB2E057-->  <ISSAMELINE><![CDATA[N]]></ISSAMELINE>
 <!--8949A7E66C06454A9DAC2289ADB2E057-->  <ISFIELDONLY><![CDATA[N]]></ISFIELDONLY>
 <!--8949A7E66C06454A9DAC2289ADB2E057-->  <ISENCRYPTED><![CDATA[N]]></ISENCRYPTED>
 <!--8949A7E66C06454A9DAC2289ADB2E057-->  <SHOWINRELATION><![CDATA[Y]]></SHOWINRELATION>
 <!--8949A7E66C06454A9DAC2289ADB2E057-->  <ISFIRSTFOCUSEDFIELD><![CDATA[N]]></ISFIRSTFOCUSEDFIELD>
 <!--8949A7E66C06454A9DAC2289ADB2E057-->  <AD_MODULE_ID><![CDATA[FF808181326CC34901326D53DBCF0018]]></AD_MODULE_ID>
-<!--8949A7E66C06454A9DAC2289ADB2E057-->  <GRID_SEQNO><![CDATA[30]]></GRID_SEQNO>
+<!--8949A7E66C06454A9DAC2289ADB2E057-->  <GRID_SEQNO><![CDATA[40]]></GRID_SEQNO>
 <!--8949A7E66C06454A9DAC2289ADB2E057-->  <STARTINODDCOLUMN><![CDATA[N]]></STARTINODDCOLUMN>
 <!--8949A7E66C06454A9DAC2289ADB2E057-->  <STARTNEWLINE><![CDATA[N]]></STARTNEWLINE>
 <!--8949A7E66C06454A9DAC2289ADB2E057-->  <ISSHOWNINSTATUSBAR><![CDATA[N]]></ISSHOWNINSTATUSBAR>
@@ -3878,6 +3883,7 @@
 <!--AE596D0D4C654EA4A0B6E33ECB1FDE7C-->  <IGNOREINWAD><![CDATA[N]]></IGNOREINWAD>
 <!--AE596D0D4C654EA4A0B6E33ECB1FDE7C-->  <AD_FIELDGROUP_ID><![CDATA[F1A8FF12D50241979A7882FA69F7066B]]></AD_FIELDGROUP_ID>
 <!--AE596D0D4C654EA4A0B6E33ECB1FDE7C-->  <ISDISPLAYED><![CDATA[Y]]></ISDISPLAYED>
+<!--AE596D0D4C654EA4A0B6E33ECB1FDE7C-->  <DISPLAYLOGIC><![CDATA[@leaveascredit@='N']]></DISPLAYLOGIC>
 <!--AE596D0D4C654EA4A0B6E33ECB1FDE7C-->  <DISPLAYLENGTH><![CDATA[1]]></DISPLAYLENGTH>
 <!--AE596D0D4C654EA4A0B6E33ECB1FDE7C-->  <ISREADONLY><![CDATA[N]]></ISREADONLY>
 <!--AE596D0D4C654EA4A0B6E33ECB1FDE7C-->  <SEQNO><![CDATA[105]]></SEQNO>
@@ -4287,7 +4293,7 @@
 <!--C1041D18C3B2459CAE2FE20114C63F7A-->  <AD_COLUMN_ID><![CDATA[C5AD82AFB0A54FEDBD24F32375F2A4D5]]></AD_COLUMN_ID>
 <!--C1041D18C3B2459CAE2FE20114C63F7A-->  <IGNOREINWAD><![CDATA[N]]></IGNOREINWAD>
 <!--C1041D18C3B2459CAE2FE20114C63F7A-->  <ISDISPLAYED><![CDATA[Y]]></ISDISPLAYED>
-<!--C1041D18C3B2459CAE2FE20114C63F7A-->  <DISPLAYLOGIC><![CDATA[@Automatemovementtoother@='Y']]></DISPLAYLOGIC>
+<!--C1041D18C3B2459CAE2FE20114C63F7A-->  <DISPLAYLOGIC><![CDATA[@Automatemovementtoother@='Y'& @leaveascredit@='N']]></DISPLAYLOGIC>
 <!--C1041D18C3B2459CAE2FE20114C63F7A-->  <DISPLAYLENGTH><![CDATA[1]]></DISPLAYLENGTH>
 <!--C1041D18C3B2459CAE2FE20114C63F7A-->  <ISREADONLY><![CDATA[N]]></ISREADONLY>
 <!--C1041D18C3B2459CAE2FE20114C63F7A-->  <SEQNO><![CDATA[130]]></SEQNO>
@@ -4344,7 +4350,7 @@
 <!--C3A536DDD04641ECA2104E406259B060-->  <AD_COLUMN_ID><![CDATA[CC960982D9B14E0DAAC4D95EA3DBAA79]]></AD_COLUMN_ID>
 <!--C3A536DDD04641ECA2104E406259B060-->  <IGNOREINWAD><![CDATA[N]]></IGNOREINWAD>
 <!--C3A536DDD04641ECA2104E406259B060-->  <ISDISPLAYED><![CDATA[Y]]></ISDISPLAYED>
-<!--C3A536DDD04641ECA2104E406259B060-->  <DISPLAYLOGIC><![CDATA[@Automatemovementtoother@='Y']]></DISPLAYLOGIC>
+<!--C3A536DDD04641ECA2104E406259B060-->  <DISPLAYLOGIC><![CDATA[@Automatemovementtoother@='Y' & @leaveascredit@='N']]></DISPLAYLOGIC>
 <!--C3A536DDD04641ECA2104E406259B060-->  <DISPLAYLENGTH><![CDATA[1]]></DISPLAYLENGTH>
 <!--C3A536DDD04641ECA2104E406259B060-->  <ISREADONLY><![CDATA[N]]></ISREADONLY>
 <!--C3A536DDD04641ECA2104E406259B060-->  <SEQNO><![CDATA[150]]></SEQNO>
@@ -4545,7 +4551,7 @@
 <!--CF3109E18E5148CB81183EB989E420A3-->  <AD_COLUMN_ID><![CDATA[2286CFE5E2074432B7723288554677F6]]></AD_COLUMN_ID>
 <!--CF3109E18E5148CB81183EB989E420A3-->  <IGNOREINWAD><![CDATA[N]]></IGNOREINWAD>
 <!--CF3109E18E5148CB81183EB989E420A3-->  <ISDISPLAYED><![CDATA[Y]]></ISDISPLAYED>
-<!--CF3109E18E5148CB81183EB989E420A3-->  <DISPLAYLOGIC><![CDATA[@Automatemovementtoother@='Y']]></DISPLAYLOGIC>
+<!--CF3109E18E5148CB81183EB989E420A3-->  <DISPLAYLOGIC><![CDATA[@Automatemovementtoother@='Y' & @leaveascredit@='N']]></DISPLAYLOGIC>
 <!--CF3109E18E5148CB81183EB989E420A3-->  <DISPLAYLENGTH><![CDATA[1]]></DISPLAYLENGTH>
 <!--CF3109E18E5148CB81183EB989E420A3-->  <ISREADONLY><![CDATA[N]]></ISREADONLY>
 <!--CF3109E18E5148CB81183EB989E420A3-->  <SEQNO><![CDATA[140]]></SEQNO>
@@ -4914,7 +4920,7 @@
 <!--DF1087E6BE4148A3AF237F986ECAFD69-->  <AD_COLUMN_ID><![CDATA[1EB3DAB3554949B182943774B94E09DE]]></AD_COLUMN_ID>
 <!--DF1087E6BE4148A3AF237F986ECAFD69-->  <IGNOREINWAD><![CDATA[N]]></IGNOREINWAD>
 <!--DF1087E6BE4148A3AF237F986ECAFD69-->  <ISDISPLAYED><![CDATA[Y]]></ISDISPLAYED>
-<!--DF1087E6BE4148A3AF237F986ECAFD69-->  <DISPLAYLOGIC><![CDATA[@Keepfixedamount@='Y' & @Automatemovementtoother@='Y']]></DISPLAYLOGIC>
+<!--DF1087E6BE4148A3AF237F986ECAFD69-->  <DISPLAYLOGIC><![CDATA[@Keepfixedamount@='Y' & @Automatemovementtoother@='Y' & @leaveascredit@='N']]></DISPLAYLOGIC>
 <!--DF1087E6BE4148A3AF237F986ECAFD69-->  <DISPLAYLENGTH><![CDATA[2]]></DISPLAYLENGTH>
 <!--DF1087E6BE4148A3AF237F986ECAFD69-->  <ISREADONLY><![CDATA[N]]></ISREADONLY>
 <!--DF1087E6BE4148A3AF237F986ECAFD69-->  <SEQNO><![CDATA[120]]></SEQNO>
@@ -5098,6 +5104,32 @@
 <!--E0C14EB436F64DD898CBF154E7C1F882-->  <EM_OBUIAPP_SHOWSUMMARY><![CDATA[N]]></EM_OBUIAPP_SHOWSUMMARY>
 <!--E0C14EB436F64DD898CBF154E7C1F882--></AD_FIELD>
 
+<!--E4641870AEC84A8D8E76A3B55DB18FE0--><AD_FIELD>
+<!--E4641870AEC84A8D8E76A3B55DB18FE0-->  <AD_FIELD_ID><![CDATA[E4641870AEC84A8D8E76A3B55DB18FE0]]></AD_FIELD_ID>
+<!--E4641870AEC84A8D8E76A3B55DB18FE0-->  <AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID>
+<!--E4641870AEC84A8D8E76A3B55DB18FE0-->  <AD_ORG_ID><![CDATA[0]]></AD_ORG_ID>
+<!--E4641870AEC84A8D8E76A3B55DB18FE0-->  <ISACTIVE><![CDATA[Y]]></ISACTIVE>
+<!--E4641870AEC84A8D8E76A3B55DB18FE0-->  <NAME><![CDATA[Leave as credit]]></NAME>
+<!--E4641870AEC84A8D8E76A3B55DB18FE0-->  <ISCENTRALLYMAINTAINED><![CDATA[Y]]></ISCENTRALLYMAINTAINED>
+<!--E4641870AEC84A8D8E76A3B55DB18FE0-->  <AD_TAB_ID><![CDATA[4D9F5E9CC0014A96861CEFB64BBF013B]]></AD_TAB_ID>
+<!--E4641870AEC84A8D8E76A3B55DB18FE0-->  <AD_COLUMN_ID><![CDATA[24CA9F6F48DA4453911DDCA77DA7DE2B]]></AD_COLUMN_ID>
+<!--E4641870AEC84A8D8E76A3B55DB18FE0-->  <IGNOREINWAD><![CDATA[N]]></IGNOREINWAD>
+<!--E4641870AEC84A8D8E76A3B55DB18FE0-->  <ISDISPLAYED><![CDATA[Y]]></ISDISPLAYED>
+<!--E4641870AEC84A8D8E76A3B55DB18FE0-->  <DISPLAYLENGTH><![CDATA[1]]></DISPLAYLENGTH>
+<!--E4641870AEC84A8D8E76A3B55DB18FE0-->  <ISREADONLY><![CDATA[N]]></ISREADONLY>
+<!--E4641870AEC84A8D8E76A3B55DB18FE0-->  <SEQNO><![CDATA[98]]></SEQNO>
+<!--E4641870AEC84A8D8E76A3B55DB18FE0-->  <ISSAMELINE><![CDATA[N]]></ISSAMELINE>
+<!--E4641870AEC84A8D8E76A3B55DB18FE0-->  <ISFIELDONLY><![CDATA[N]]></ISFIELDONLY>
+<!--E4641870AEC84A8D8E76A3B55DB18FE0-->  <ISENCRYPTED><![CDATA[N]]></ISENCRYPTED>
+<!--E4641870AEC84A8D8E76A3B55DB18FE0-->  <SHOWINRELATION><![CDATA[N]]></SHOWINRELATION>
+<!--E4641870AEC84A8D8E76A3B55DB18FE0-->  <ISFIRSTFOCUSEDFIELD><![CDATA[N]]></ISFIRSTFOCUSEDFIELD>
+<!--E4641870AEC84A8D8E76A3B55DB18FE0-->  <AD_MODULE_ID><![CDATA[FF808181326CC34901326D53DBCF0018]]></AD_MODULE_ID>
+<!--E4641870AEC84A8D8E76A3B55DB18FE0-->  <STARTINODDCOLUMN><![CDATA[N]]></STARTINODDCOLUMN>
+<!--E4641870AEC84A8D8E76A3B55DB18FE0-->  <STARTNEWLINE><![CDATA[N]]></STARTNEWLINE>
+<!--E4641870AEC84A8D8E76A3B55DB18FE0-->  <ISSHOWNINSTATUSBAR><![CDATA[N]]></ISSHOWNINSTATUSBAR>
+<!--E4641870AEC84A8D8E76A3B55DB18FE0-->  <EM_OBUIAPP_SHOWSUMMARY><![CDATA[N]]></EM_OBUIAPP_SHOWSUMMARY>
+<!--E4641870AEC84A8D8E76A3B55DB18FE0--></AD_FIELD>
+
 <!--E5EBCFED984240BCA9842D21A8380349--><AD_FIELD>
 <!--E5EBCFED984240BCA9842D21A8380349-->  <AD_FIELD_ID><![CDATA[E5EBCFED984240BCA9842D21A8380349]]></AD_FIELD_ID>
 <!--E5EBCFED984240BCA9842D21A8380349-->  <AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID>
@@ -5142,14 +5174,14 @@
 <!--E6D4FAAE415149528A8BC38C91C397D8-->  <ISDISPLAYED><![CDATA[Y]]></ISDISPLAYED>
 <!--E6D4FAAE415149528A8BC38C91C397D8-->  <DISPLAYLENGTH><![CDATA[32]]></DISPLAYLENGTH>
 <!--E6D4FAAE415149528A8BC38C91C397D8-->  <ISREADONLY><![CDATA[N]]></ISREADONLY>
-<!--E6D4FAAE415149528A8BC38C91C397D8-->  <SEQNO><![CDATA[40]]></SEQNO>
+<!--E6D4FAAE415149528A8BC38C91C397D8-->  <SEQNO><![CDATA[30]]></SEQNO>
 <!--E6D4FAAE415149528A8BC38C91C397D8-->  <ISSAMELINE><![CDATA[N]]></ISSAMELINE>
 <!--E6D4FAAE415149528A8BC38C91C397D8-->  <ISFIELDONLY><![CDATA[N]]></ISFIELDONLY>
 <!--E6D4FAAE415149528A8BC38C91C397D8-->  <ISENCRYPTED><![CDATA[N]]></ISENCRYPTED>
 <!--E6D4FAAE415149528A8BC38C91C397D8-->  <SHOWINRELATION><![CDATA[Y]]></SHOWINRELATION>
 <!--E6D4FAAE415149528A8BC38C91C397D8-->  <ISFIRSTFOCUSEDFIELD><![CDATA[N]]></ISFIRSTFOCUSEDFIELD>
 <!--E6D4FAAE415149528A8BC38C91C397D8-->  <AD_MODULE_ID><![CDATA[FF808181326CC34901326D53DBCF0018]]></AD_MODULE_ID>
-<!--E6D4FAAE415149528A8BC38C91C397D8-->  <GRID_SEQNO><![CDATA[40]]></GRID_SEQNO>
+<!--E6D4FAAE415149528A8BC38C91C397D8-->  <GRID_SEQNO><![CDATA[30]]></GRID_SEQNO>
 <!--E6D4FAAE415149528A8BC38C91C397D8-->  <STARTINODDCOLUMN><![CDATA[N]]></STARTINODDCOLUMN>
 <!--E6D4FAAE415149528A8BC38C91C397D8-->  <STARTNEWLINE><![CDATA[N]]></STARTNEWLINE>
 <!--E6D4FAAE415149528A8BC38C91C397D8-->  <ISSHOWNINSTATUSBAR><![CDATA[N]]></ISSHOWNINSTATUSBAR>
diff --git a/src-db/database/sourcedata/AD_MESSAGE.xml b/src-db/database/sourcedata/AD_MESSAGE.xml
--- a/src-db/database/sourcedata/AD_MESSAGE.xml
+++ b/src-db/database/sourcedata/AD_MESSAGE.xml
@@ -1224,6 +1224,18 @@
 <!--39EABA22733043DC88329BEA3A659AC1-->  <ISINCLUDEINI18N><![CDATA[N]]></ISINCLUDEINI18N>
 <!--39EABA22733043DC88329BEA3A659AC1--></AD_MESSAGE>
 
+<!--3A25E7FF206F42DD8B98F30D0D3A595E--><AD_MESSAGE>
+<!--3A25E7FF206F42DD8B98F30D0D3A595E-->  <AD_MESSAGE_ID><![CDATA[3A25E7FF206F42DD8B98F30D0D3A595E]]></AD_MESSAGE_ID>
+<!--3A25E7FF206F42DD8B98F30D0D3A595E-->  <AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID>
+<!--3A25E7FF206F42DD8B98F30D0D3A595E-->  <AD_ORG_ID><![CDATA[0]]></AD_ORG_ID>
+<!--3A25E7FF206F42DD8B98F30D0D3A595E-->  <ISACTIVE><![CDATA[Y]]></ISACTIVE>
+<!--3A25E7FF206F42DD8B98F30D0D3A595E-->  <VALUE><![CDATA[OBPOS_FinAccLeaveCredit]]></VALUE>
+<!--3A25E7FF206F42DD8B98F30D0D3A595E-->  <MSGTEXT><![CDATA[It is mandatory to select a Financial Account or a Payment Method leave as credit]]></MSGTEXT>
+<!--3A25E7FF206F42DD8B98F30D0D3A595E-->  <MSGTYPE><![CDATA[I]]></MSGTYPE>
+<!--3A25E7FF206F42DD8B98F30D0D3A595E-->  <AD_MODULE_ID><![CDATA[FF808181326CC34901326D53DBCF0018]]></AD_MODULE_ID>
+<!--3A25E7FF206F42DD8B98F30D0D3A595E-->  <ISINCLUDEINI18N><![CDATA[N]]></ISINCLUDEINI18N>
+<!--3A25E7FF206F42DD8B98F30D0D3A595E--></AD_MESSAGE>
+
 <!--3AEE277A5F2543558720992E1CED2C2C--><AD_MESSAGE>
 <!--3AEE277A5F2543558720992E1CED2C2C-->  <AD_MESSAGE_ID><![CDATA[3AEE277A5F2543558720992E1CED2C2C]]></AD_MESSAGE_ID>
 <!--3AEE277A5F2543558720992E1CED2C2C-->  <AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID>
@@ -1909,6 +1921,18 @@
 <!--57870DFDE61D4E2F8AEF51B931B13DEA-->  <ISINCLUDEINI18N><![CDATA[N]]></ISINCLUDEINI18N>
 <!--57870DFDE61D4E2F8AEF51B931B13DEA--></AD_MESSAGE>
 
+<!--57FBE2E7D28140EA996A25CAE57AFC80--><AD_MESSAGE>
+<!--57FBE2E7D28140EA996A25CAE57AFC80-->  <AD_MESSAGE_ID><![CDATA[57FBE2E7D28140EA996A25CAE57AFC80]]></AD_MESSAGE_ID>
+<!--57FBE2E7D28140EA996A25CAE57AFC80-->  <AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID>
+<!--57FBE2E7D28140EA996A25CAE57AFC80-->  <AD_ORG_ID><![CDATA[0]]></AD_ORG_ID>
+<!--57FBE2E7D28140EA996A25CAE57AFC80-->  <ISACTIVE><![CDATA[Y]]></ISACTIVE>
+<!--57FBE2E7D28140EA996A25CAE57AFC80-->  <VALUE><![CDATA[OBPOS_CashDiffLeaveCredit]]></VALUE>
+<!--57FBE2E7D28140EA996A25CAE57AFC80-->  <MSGTEXT><![CDATA[It is mandatory to select Cash Differences or  leave the Payment Method as credit]]></MSGTEXT>
+<!--57FBE2E7D28140EA996A25CAE57AFC80-->  <MSGTYPE><![CDATA[E]]></MSGTYPE>
+<!--57FBE2E7D28140EA996A25CAE57AFC80-->  <AD_MODULE_ID><![CDATA[FF808181326CC34901326D53DBCF0018]]></AD_MODULE_ID>
+<!--57FBE2E7D28140EA996A25CAE57AFC80-->  <ISINCLUDEINI18N><![CDATA[N]]></ISINCLUDEINI18N>
+<!--57FBE2E7D28140EA996A25CAE57AFC80--></AD_MESSAGE>
+
 <!--582715E35F2B449584BEB484566A3381--><AD_MESSAGE>
 <!--582715E35F2B449584BEB484566A3381-->  <AD_MESSAGE_ID><![CDATA[582715E35F2B449584BEB484566A3381]]></AD_MESSAGE_ID>
 <!--582715E35F2B449584BEB484566A3381-->  <AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID>
@@ -2654,6 +2678,18 @@
 <!--7EC813AE2A094FE18CEA6ADD6071BA5C-->  <ISINCLUDEINI18N><![CDATA[N]]></ISINCLUDEINI18N>
 <!--7EC813AE2A094FE18CEA6ADD6071BA5C--></AD_MESSAGE>
 
+<!--7EF083B7E1F246EC81CFECAF0B81DB78--><AD_MESSAGE>
+<!--7EF083B7E1F246EC81CFECAF0B81DB78-->  <AD_MESSAGE_ID><![CDATA[7EF083B7E1F246EC81CFECAF0B81DB78]]></AD_MESSAGE_ID>
+<!--7EF083B7E1F246EC81CFECAF0B81DB78-->  <AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID>
+<!--7EF083B7E1F246EC81CFECAF0B81DB78-->  <AD_ORG_ID><![CDATA[0]]></AD_ORG_ID>
+<!--7EF083B7E1F246EC81CFECAF0B81DB78-->  <ISACTIVE><![CDATA[Y]]></ISACTIVE>
+<!--7EF083B7E1F246EC81CFECAF0B81DB78-->  <VALUE><![CDATA[OBPOS_LeaveAsCreditNotConfigured]]></VALUE>
+<!--7EF083B7E1F246EC81CFECAF0B81DB78-->  <MSGTEXT><![CDATA[There was an error loading the POS terminal. There is one payment type defined for this terminal whose payment method is checked as Leave as Credit and it has a Financial Account. To fix this, go to the POS Terminal window in Openbravo, look for the financial account of the affected payment method, and make sure to set the appropriate payment method in the "Payment Method" tab.]]></MSGTEXT>
+<!--7EF083B7E1F246EC81CFECAF0B81DB78-->  <MSGTYPE><![CDATA[E]]></MSGTYPE>
+<!--7EF083B7E1F246EC81CFECAF0B81DB78-->  <AD_MODULE_ID><![CDATA[FF808181326CC34901326D53DBCF0018]]></AD_MODULE_ID>
+<!--7EF083B7E1F246EC81CFECAF0B81DB78-->  <ISINCLUDEINI18N><![CDATA[N]]></ISINCLUDEINI18N>
+<!--7EF083B7E1F246EC81CFECAF0B81DB78--></AD_MESSAGE>
+
 <!--7EF243C4B75B402D9C48D4F1ED7FE919--><AD_MESSAGE>
 <!--7EF243C4B75B402D9C48D4F1ED7FE919-->  <AD_MESSAGE_ID><![CDATA[7EF243C4B75B402D9C48D4F1ED7FE919]]></AD_MESSAGE_ID>
 <!--7EF243C4B75B402D9C48D4F1ED7FE919-->  <AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID>
diff --git a/src-db/database/sourcedata/AD_VAL_RULE.xml b/src-db/database/sourcedata/AD_VAL_RULE.xml
--- a/src-db/database/sourcedata/AD_VAL_RULE.xml
+++ b/src-db/database/sourcedata/AD_VAL_RULE.xml
@@ -79,6 +79,17 @@
 <!--42129C185BD247A3927C76614A5B8D2B-->  <AD_MODULE_ID><![CDATA[FF808181326CC34901326D53DBCF0018]]></AD_MODULE_ID>
 <!--42129C185BD247A3927C76614A5B8D2B--></AD_VAL_RULE>
 
+<!--7153C74CF9CC45D2BBFA524A79146269--><AD_VAL_RULE>
+<!--7153C74CF9CC45D2BBFA524A79146269-->  <AD_VAL_RULE_ID><![CDATA[7153C74CF9CC45D2BBFA524A79146269]]></AD_VAL_RULE_ID>
+<!--7153C74CF9CC45D2BBFA524A79146269-->  <AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID>
+<!--7153C74CF9CC45D2BBFA524A79146269-->  <AD_ORG_ID><![CDATA[0]]></AD_ORG_ID>
+<!--7153C74CF9CC45D2BBFA524A79146269-->  <ISACTIVE><![CDATA[Y]]></ISACTIVE>
+<!--7153C74CF9CC45D2BBFA524A79146269-->  <NAME><![CDATA[Payment Type financial account]]></NAME>
+<!--7153C74CF9CC45D2BBFA524A79146269-->  <TYPE><![CDATA[S]]></TYPE>
+<!--7153C74CF9CC45D2BBFA524A79146269-->  <CODE><![CDATA[@Obpos_App_Payment_Type_ID@ is not null]]></CODE>
+<!--7153C74CF9CC45D2BBFA524A79146269-->  <AD_MODULE_ID><![CDATA[FF808181326CC34901326D53DBCF0018]]></AD_MODULE_ID>
+<!--7153C74CF9CC45D2BBFA524A79146269--></AD_VAL_RULE>
+
 <!--7E72CA2E0AC546EEB0F80920F0C36CC8--><AD_VAL_RULE>
 <!--7E72CA2E0AC546EEB0F80920F0C36CC8-->  <AD_VAL_RULE_ID><![CDATA[7E72CA2E0AC546EEB0F80920F0C36CC8]]></AD_VAL_RULE_ID>
 <!--7E72CA2E0AC546EEB0F80920F0C36CC8-->  <AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID>
diff --git a/src/org/openbravo/retail/posterminal/CashCloseProcessor.java b/src/org/openbravo/retail/posterminal/CashCloseProcessor.java
--- a/src/org/openbravo/retail/posterminal/CashCloseProcessor.java
+++ b/src/org/openbravo/retail/posterminal/CashCloseProcessor.java
@@ -1,6 +1,6 @@
 /*
  ************************************************************************************
- * Copyright (C) 2012 Openbravo S.L.U.
+ * Copyright (C) 2012-2015 Openbravo S.L.U.
  * Licensed under the Openbravo Commercial License version 1.0
  * You may obtain a copy of the License at http://www.openbravo.com/legal/obcl.html
  * or in the legal folder of this module distribution.
@@ -73,7 +73,9 @@
       }
       String paymentTypeId = cashCloseObj.getString("paymentTypeId");
       OBPOSAppPayment paymentType = OBDal.getInstance().get(OBPOSAppPayment.class, paymentTypeId);
-
+      if (paymentType.getFinancialAccount() == null) {
+        continue;
+      }
       FIN_Reconciliation reconciliation = createReconciliation(cashCloseObj, posTerminal,
           paymentType.getFinancialAccount(), cashUpDate);
 
diff --git a/src/org/openbravo/retail/posterminal/InitialValidations.java b/src/org/openbravo/retail/posterminal/InitialValidations.java
--- a/src/org/openbravo/retail/posterminal/InitialValidations.java
+++ b/src/org/openbravo/retail/posterminal/InitialValidations.java
@@ -1,6 +1,6 @@
 /*
  ************************************************************************************
- * Copyright (C) 2012 Openbravo S.L.U.
+ * Copyright (C) 2012-2015 Openbravo S.L.U.
  * Licensed under the Openbravo Commercial License version 1.0
  * You may obtain a copy of the License at http://www.openbravo.com/legal/obcl.html
  * or in the legal folder of this module distribution.
@@ -48,8 +48,8 @@
       throw new JSONException("OBPOS_OrgDesynchronization");
     }
 
-    String whereclausePM = " as e where e.obposApplications=:terminal and not exists "
-        + "(select 1 from FinancialMgmtFinAccPaymentMethod as pmacc where "
+    String whereclausePM = " as e where e.obposApplications=:terminal and e.financialAccount is not null "
+        + "and not exists (select 1 from FinancialMgmtFinAccPaymentMethod as pmacc where "
         + "pmacc.paymentMethod = e.paymentMethod.paymentMethod and pmacc.account = e.financialAccount"
         + ")";
     OBQuery<OBPOSAppPayment> queryFinAccounts = OBDal.getInstance().createQuery(
@@ -59,7 +59,7 @@
       throw new JSONException("OBPOS_PayMethodNotConfiguredInAccount");
     }
 
-    String whereclauseCMEV = " as e where e.obposApplications=:terminal and exists "
+    String whereclauseCMEV = " as e where e.obposApplications=:terminal and e.financialAccount is not null and exists "
         + "(select 1 from OBRETCO_CashManagementEvents as cmev where "
         + "cmev.financialAccount = e.financialAccount)";
     OBQuery<OBPOSAppPayment> queryEventAccounts = OBDal.getInstance().createQuery(
@@ -68,5 +68,14 @@
     if (queryEventAccounts.list().size() > 0) {
       throw new JSONException("OBPOS_CMEVAccountIsUsedInPayMethod");
     }
+
+    String whereclauseLAC = " as e where e.obposApplications=:terminal and ((e.financialAccount is null "
+        + "and e.paymentMethod.leaveascredit = false) or (e.financialAccount is not null and e.paymentMethod.leaveascredit = true))";
+    OBQuery<OBPOSAppPayment> queryLeaveAsCredit = OBDal.getInstance().createQuery(
+        OBPOSAppPayment.class, whereclauseLAC);
+    queryLeaveAsCredit.setNamedParameter("terminal", posTerminal);
+    if (queryLeaveAsCredit.list().size() > 0) {
+      throw new JSONException("OBPOS_LeaveAsCreditNotConfigured");
+    }
   }
 }
diff --git a/src/org/openbravo/retail/posterminal/OrderLoader.java b/src/org/openbravo/retail/posterminal/OrderLoader.java
--- a/src/org/openbravo/retail/posterminal/OrderLoader.java
+++ b/src/org/openbravo/retail/posterminal/OrderLoader.java
@@ -1,6 +1,6 @@
 /*
  ************************************************************************************
- * Copyright (C) 2012-2013 Openbravo S.L.U.
+ * Copyright (C) 2012-2015 Openbravo S.L.U.
  * Licensed under the Openbravo Commercial License version 1.0
  * You may obtain a copy of the License at http://www.openbravo.com/legal/obcl.html
  * or in the legal folder of this module distribution.
@@ -177,9 +177,14 @@
             && !isQuotation
             && Math.abs(jsonorder.getDouble("payment")) < Math.abs(new Double(jsonorder
                 .getDouble("gross")));
-        createInvoice = wasPaidOnCredit
-            || (!isQuotation && (!isLayaway && !partialpayLayaway || fullpayLayaway) && (jsonorder
-                .has("generateInvoice") && jsonorder.getBoolean("generateInvoice")));
+        if (jsonorder.has("oBPOSNotInvoiceOnCashUp")
+            && jsonorder.getBoolean("oBPOSNotInvoiceOnCashUp")) {
+          createInvoice = false;
+        } else {
+          createInvoice = wasPaidOnCredit
+              || (!isQuotation && (!isLayaway && !partialpayLayaway || fullpayLayaway) && (jsonorder
+                  .has("generateInvoice") && jsonorder.getBoolean("generateInvoice")));
+        }
         createShipment = !isQuotation && (!isLayaway && !partialpayLayaway || fullpayLayaway);
         if (jsonorder.has("generateShipment")) {
           createShipment &= jsonorder.getBoolean("generateShipment");
@@ -1385,6 +1390,9 @@
           paymentinst.process(payment, order, invoice, i == (payments.length() - 1) ? writeoffAmt
               : BigDecimal.ZERO);
         } else {
+          if (paymentType.getFinancialAccount() == null) {
+            continue;
+          }
           processPayments(paymentSchedule, paymentScheduleInvoice, order, invoice, paymentType,
               payment, i == (payments.length() - 1) ? writeoffAmt : BigDecimal.ZERO, jsonorder);
         }
diff --git a/src/org/openbravo/retail/posterminal/ProcessCashClose.java b/src/org/openbravo/retail/posterminal/ProcessCashClose.java
--- a/src/org/openbravo/retail/posterminal/ProcessCashClose.java
+++ b/src/org/openbravo/retail/posterminal/ProcessCashClose.java
@@ -1,6 +1,6 @@
 /*
  ************************************************************************************
- * Copyright (C) 2012 Openbravo S.L.U.
+ * Copyright (C) 2012-2015 Openbravo S.L.U.
  * Licensed under the Openbravo Commercial License version 1.0
  * You may obtain a copy of the License at http://www.openbravo.com/legal/obcl.html
  * or in the legal folder of this module distribution.
@@ -64,6 +64,9 @@
     if (cashUp.isProcessed() && !cashUp.isProcessedbo()) {
       // check if there is a reconciliation in draft status
       for (OBPOSAppPayment payment : posTerminal.getOBPOSAppPaymentList()) {
+        if (payment.getFinancialAccount() == null) {
+          continue;
+        }
         final OBCriteria<FIN_Reconciliation> recconciliations = OBDal.getInstance().createCriteria(
             FIN_Reconciliation.class);
         recconciliations.add(Restrictions.eq(FIN_Reconciliation.PROPERTY_DOCUMENTSTATUS, "DR"));
diff --git a/src/org/openbravo/retail/posterminal/ProcessVoidLayaway.java b/src/org/openbravo/retail/posterminal/ProcessVoidLayaway.java
--- a/src/org/openbravo/retail/posterminal/ProcessVoidLayaway.java
+++ b/src/org/openbravo/retail/posterminal/ProcessVoidLayaway.java
@@ -1,6 +1,6 @@
 /*
  ************************************************************************************
- * Copyright (C) 2012 Openbravo S.L.U.
+ * Copyright (C) 2012-2015 Openbravo S.L.U.
  * Licensed under the Openbravo Commercial License version 1.0
  * You may obtain a copy of the License at http://www.openbravo.com/legal/obcl.html
  * or in the legal folder of this module distribution.
@@ -144,6 +144,9 @@
             paymentType = type;
           }
         }
+        if (paymentType.getFinancialAccount() == null) {
+          continue;
+        }
         FIN_FinancialAccount account = paymentType.getFinancialAccount();
 
         FIN_PaymentScheduleDetail newPaymentScheduleDetail = OBProvider.getInstance().get(
diff --git a/src/org/openbravo/retail/posterminal/ad_reports/CashUpReport.java b/src/org/openbravo/retail/posterminal/ad_reports/CashUpReport.java
--- a/src/org/openbravo/retail/posterminal/ad_reports/CashUpReport.java
+++ b/src/org/openbravo/retail/posterminal/ad_reports/CashUpReport.java
@@ -11,7 +11,7 @@
  * under the License. 
  * The Original Code is Openbravo ERP. 
  * The Initial Developer of the Original Code is Openbravo SLU 
- * All portions are Copyright (C) 2013 Openbravo SLU 
+ * All portions are Copyright (C) 2013-2015 Openbravo SLU 
  * All Rights Reserved. 
  * Contributor(s):  ______________________________________.
  ************************************************************************
@@ -140,7 +140,10 @@
       List<OBPOSAppCashReconcil> recons = reconsQuery.list();
       Date cashUpDate = cashup.getCashUpDate();
       for (int i = 0; i < recons.size(); i++) {
-
+        if (recons.get(i).getReconciliation().getAccount().getOBPOSAppPaymentList().get(0)
+            .getFinancialAccount() == null) {
+          continue;
+        }
         expected = BigDecimal.ZERO;
 
         if (i != 0)
diff --git a/src/org/openbravo/retail/posterminal/event/PaymentMethodEventHandler.java b/src/org/openbravo/retail/posterminal/event/PaymentMethodEventHandler.java
new file mode 100644
--- /dev/null
+++ b/src/org/openbravo/retail/posterminal/event/PaymentMethodEventHandler.java
@@ -0,0 +1,87 @@
+/*
+ ************************************************************************************
+ * Copyright (C) 2015 Openbravo S.L.U.
+ * Licensed under the Openbravo Commercial License version 1.0
+ * You may obtain a copy of the License at http://www.openbravo.com/legal/obcl.html
+ * or in the legal folder of this module distribution.
+ ************************************************************************************
+ */
+
+package org.openbravo.retail.posterminal.event;
+
+import javax.enterprise.event.Observes;
+
+import org.apache.log4j.Logger;
+import org.openbravo.base.exception.OBException;
+import org.openbravo.base.model.Entity;
+import org.openbravo.base.model.ModelProvider;
+import org.openbravo.base.model.Property;
+import org.openbravo.client.kernel.event.EntityNewEvent;
+import org.openbravo.client.kernel.event.EntityPersistenceEventObserver;
+import org.openbravo.client.kernel.event.EntityUpdateEvent;
+import org.openbravo.dal.core.OBContext;
+import org.openbravo.erpCommon.utility.Utility;
+import org.openbravo.model.financialmgmt.payment.FIN_FinancialAccount;
+import org.openbravo.retail.posterminal.OBPOSAppPayment;
+import org.openbravo.retail.posterminal.TerminalTypePaymentMethod;
+import org.openbravo.service.db.DalConnectionProvider;
+
+/**
+ * @author guillermogil
+ * 
+ */
+
+public class PaymentMethodEventHandler extends EntityPersistenceEventObserver {
+  private static Entity[] entities = { ModelProvider.getInstance().getEntity(
+      OBPOSAppPayment.ENTITY_NAME) };
+  protected Logger logger = Logger.getLogger(this.getClass());
+
+  @Override
+  protected Entity[] getObservedEntities() {
+    return entities;
+  }
+
+  public void onUpdate(@Observes EntityUpdateEvent event) {
+    if (!isValidEvent(event)) {
+      return;
+    }
+
+    FIN_FinancialAccount financialAccount = (FIN_FinancialAccount) event.getTargetInstance().get(
+        "financialAccount");
+    TerminalTypePaymentMethod paymentMethod = (TerminalTypePaymentMethod) event.getTargetInstance()
+        .get("paymentMethod");
+    Boolean leaveascredit = paymentMethod.isLeaveascredit();
+    if (leaveascredit && financialAccount != null) {
+      final Entity appPaymentEntity = ModelProvider.getInstance().getEntity(
+          OBPOSAppPayment.ENTITY_NAME);
+      final Property financialAccountProperty = appPaymentEntity.getProperty("financialAccount");
+      event.setCurrentState(financialAccountProperty, null);
+    } else if (!leaveascredit && financialAccount == null) {
+      throw new OBException(Utility.messageBD(new DalConnectionProvider(false),
+          "OBPOS_FinAccLeaveCredit", OBContext.getOBContext().getLanguage().getLanguage()));
+    }
+
+  }
+
+  public void onSave(@Observes EntityNewEvent event) {
+    if (!isValidEvent(event)) {
+      return;
+    }
+
+    FIN_FinancialAccount financialAccount = (FIN_FinancialAccount) event.getTargetInstance().get(
+        "financialAccount");
+    TerminalTypePaymentMethod paymentMethod = (TerminalTypePaymentMethod) event.getTargetInstance()
+        .get("paymentMethod");
+    Boolean leaveascredit = paymentMethod.isLeaveascredit();
+    if (leaveascredit && financialAccount != null) {
+      final Entity appPaymentEntity = ModelProvider.getInstance().getEntity(
+          OBPOSAppPayment.ENTITY_NAME);
+      final Property financialAccountProperty = appPaymentEntity.getProperty("financialAccount");
+      event.setCurrentState(financialAccountProperty, null);
+    } else if (!leaveascredit && financialAccount == null) {
+      throw new OBException(Utility.messageBD(new DalConnectionProvider(false),
+          "OBPOS_FinAccLeaveCredit", OBContext.getOBContext().getLanguage().getLanguage()));
+    }
+
+  }
+}
\ No newline at end of file
diff --git a/src/org/openbravo/retail/posterminal/event/PaymentMethodTypeEventHandler.java b/src/org/openbravo/retail/posterminal/event/PaymentMethodTypeEventHandler.java
new file mode 100644
--- /dev/null
+++ b/src/org/openbravo/retail/posterminal/event/PaymentMethodTypeEventHandler.java
@@ -0,0 +1,96 @@
+/*
+ ************************************************************************************
+ * Copyright (C) 2015 Openbravo S.L.U.
+ * Licensed under the Openbravo Commercial License version 1.0
+ * You may obtain a copy of the License at http://www.openbravo.com/legal/obcl.html
+ * or in the legal folder of this module distribution.
+ ************************************************************************************
+ */
+
+package org.openbravo.retail.posterminal.event;
+
+import javax.enterprise.event.Observes;
+
+import org.apache.log4j.Logger;
+import org.openbravo.base.exception.OBException;
+import org.openbravo.base.model.Entity;
+import org.openbravo.base.model.ModelProvider;
+import org.openbravo.client.kernel.event.EntityNewEvent;
+import org.openbravo.client.kernel.event.EntityPersistenceEventObserver;
+import org.openbravo.client.kernel.event.EntityUpdateEvent;
+import org.openbravo.dal.core.OBContext;
+import org.openbravo.erpCommon.utility.Utility;
+import org.openbravo.retail.posterminal.TerminalTypePaymentMethod;
+import org.openbravo.service.db.DalConnectionProvider;
+
+/**
+ * @author guillermogil
+ * 
+ */
+
+public class PaymentMethodTypeEventHandler extends EntityPersistenceEventObserver {
+  private static Entity[] entities = { ModelProvider.getInstance().getEntity(
+      TerminalTypePaymentMethod.ENTITY_NAME) };
+  protected Logger logger = Logger.getLogger(this.getClass());
+
+  @Override
+  protected Entity[] getObservedEntities() {
+    return entities;
+  }
+
+  public void onUpdate(@Observes
+  EntityUpdateEvent event) {
+    if (!isValidEvent(event)) {
+      return;
+    }
+
+    Boolean leaveascredit = (Boolean) event.getTargetInstance().get("leaveascredit");
+    Entity appPaymentTypeEntity = ModelProvider.getInstance().getEntity(
+        TerminalTypePaymentMethod.ENTITY_NAME);
+    if (leaveascredit) {
+      event.setCurrentState(appPaymentTypeEntity.getProperty("allowdrops"), false);
+      event.setCurrentState(appPaymentTypeEntity.getProperty("allowdeposits"), false);
+      event.setCurrentState(appPaymentTypeEntity.getProperty("allowvariableamount"), false);
+      event.setCurrentState(appPaymentTypeEntity.getProperty("allowdontmove"), false);
+      event.setCurrentState(appPaymentTypeEntity.getProperty("allowmoveeverything"), false);
+      event.setCurrentState(appPaymentTypeEntity.getProperty("automatemovementtoother"), false);
+      event.setCurrentState(appPaymentTypeEntity.getProperty("keepfixedamount"), false);
+      event.setCurrentState(appPaymentTypeEntity.getProperty("cashDifferences"), null);
+      event.setCurrentState(appPaymentTypeEntity.getProperty("glitemDropdep"), null);
+    } else {
+      if (event.getCurrentState(appPaymentTypeEntity.getProperty("cashDifferences")) == null) {
+        throw new OBException(Utility.messageBD(new DalConnectionProvider(false),
+            "OBPOS_CashDiffLeaveCredit", OBContext.getOBContext().getLanguage().getLanguage()));
+      }
+    }
+
+  }
+
+  public void onSave(@Observes
+  EntityNewEvent event) {
+    if (!isValidEvent(event)) {
+      return;
+    }
+
+    Boolean leaveascredit = (Boolean) event.getTargetInstance().get("leaveascredit");
+    Entity appPaymentTypeEntity = ModelProvider.getInstance().getEntity(
+        TerminalTypePaymentMethod.ENTITY_NAME);
+    if (leaveascredit) {
+      event.setCurrentState(appPaymentTypeEntity.getProperty("allowdrops"), false);
+      event.setCurrentState(appPaymentTypeEntity.getProperty("allowdeposits"), false);
+      event.setCurrentState(appPaymentTypeEntity.getProperty("allowvariableamount"), false);
+      event.setCurrentState(appPaymentTypeEntity.getProperty("allowdontmove"), false);
+      event.setCurrentState(appPaymentTypeEntity.getProperty("allowmoveeverything"), false);
+      event.setCurrentState(appPaymentTypeEntity.getProperty("automatemovementtoother"), false);
+      event.setCurrentState(appPaymentTypeEntity.getProperty("keepfixedamount"), false);
+      event.setCurrentState(appPaymentTypeEntity.getProperty("cashDifferences"), null);
+      event.setCurrentState(appPaymentTypeEntity.getProperty("glitemDropdep"), null);
+    } else {
+      if (event.getCurrentState(appPaymentTypeEntity.getProperty("cashDifferences")) == null) {
+        throw new OBException(Utility.messageBD(new DalConnectionProvider(false),
+            "OBPOS_CashDiffLeaveCredit", OBContext.getOBContext().getLanguage().getLanguage()));
+      }
+    }
+
+  }
+}
\ No newline at end of file
diff --git a/src/org/openbravo/retail/posterminal/term/Payments.java b/src/org/openbravo/retail/posterminal/term/Payments.java
--- a/src/org/openbravo/retail/posterminal/term/Payments.java
+++ b/src/org/openbravo/retail/posterminal/term/Payments.java
@@ -1,6 +1,6 @@
 /*
  ************************************************************************************
- * Copyright (C) 2012-2014 Openbravo S.L.U.
+ * Copyright (C) 2012-2015 Openbravo S.L.U.
  * Licensed under the Openbravo Commercial License version 1.0
  * You may obtain a copy of the License at http://www.openbravo.com/legal/obcl.html
  * or in the legal folder of this module distribution.
@@ -39,13 +39,13 @@
       JSONArray respArray = new JSONArray();
       String posId = RequestContext.get().getSessionAttribute("POSTerminal").toString();
       String hqlPayments = "select p as payment, p.paymentMethod as paymentMethod, "
-          + "c_currency_rate(p.financialAccount.currency, p.obposApplications.organization.currency, null, null, p.obposApplications.client.id, p.obposApplications.organization.id) as rate, c_currency_rate(p.obposApplications.organization.currency, p.financialAccount.currency, null, null, p.obposApplications.client.id, p.obposApplications.organization.id) as mulrate, "
-          + "p.financialAccount.currency.iSOCode as isocode, "
-          + "p.financialAccount.currency.symbol as symbol, p.financialAccount.currency.currencySymbolAtTheRight as currencySymbolAtTheRight, "
-          + "p.financialAccount.currentBalance as currentBalance, "
-          + "p.financialAccount.currency.obposPosprecision as obposPosprecision "
-          + "from OBPOS_App_Payment as p where p.obposApplications.id=? "
-          + "and p.$readableSimpleCriteria and p.$activeCriteria order by p.line, p.commercialName";
+          + "c_currency_rate(coalesce(c, p.paymentMethod.currency), p.obposApplications.organization.currency, null, null, p.obposApplications.client.id, p.obposApplications.organization.id) as rate, c_currency_rate(p.obposApplications.organization.currency, coalesce(c, p.paymentMethod.currency), null, null, p.obposApplications.client.id, p.obposApplications.organization.id) as mulrate, "
+          + "coalesce(c.iSOCode, p.paymentMethod.currency.iSOCode) as isocode, "
+          + "coalesce(c.symbol, p.paymentMethod.currency.symbol) as symbol, coalesce(c.currencySymbolAtTheRight, p.paymentMethod.currency.currencySymbolAtTheRight) as currencySymbolAtTheRight, "
+          + "coalesce(f.currentBalance, 0) as currentBalance, "
+          + "coalesce(c.obposPosprecision, null) as obposPosprecision "
+          + "from OBPOS_App_Payment as p left join p.financialAccount as f left join f.currency as c "
+          + "where p.obposApplications.id=? and p.$readableSimpleCriteria and p.$activeCriteria order by p.line, p.commercialName";
 
       SimpleQueryBuilder querybuilder = new SimpleQueryBuilder(hqlPayments, OBContext
           .getOBContext().getCurrentClient().getId(), OBContext.getOBContext()
diff --git a/web/org.openbravo.retail.posterminal/js/pointofsale/model/pointofsale-model.js b/web/org.openbravo.retail.posterminal/js/pointofsale/model/pointofsale-model.js
--- a/web/org.openbravo.retail.posterminal/js/pointofsale/model/pointofsale-model.js
+++ b/web/org.openbravo.retail.posterminal/js/pointofsale/model/pointofsale-model.js
@@ -442,6 +442,13 @@
             }));
           }
           receipt.set('change', oldChange);
+          for (var i = 0; i < receipt.get('payments').length; i++) {
+            var payment = OB.MobileApp.model.paymentnames[receipt.get('payments').models[i].get('kind')];
+            if (payment && payment.paymentMethod && payment.paymentMethod.leaveascredit) {
+              receipt.set('payment', OB.DEC.sub(receipt.get('payment'), receipt.get('payments').models[i].get('amount')));
+              receipt.set('paidOnCredit', true);
+            }
+          }
           receipt.trigger('closed', {
             callback: function () {
               receipt.get('payments').reset();
@@ -464,6 +471,13 @@
             }
           });
         } else {
+          for (var i = 0; i < receipt.get('payments').length; i++) {
+            var payment = OB.MobileApp.model.paymentnames[receipt.get('payments').models[i].get('kind')];
+            if (payment && payment.paymentMethod && payment.paymentMethod.leaveascredit) {
+              receipt.set('payment', OB.DEC.sub(receipt.get('payment'), receipt.get('payments').models[i].get('amount')));
+              receipt.set('paidOnCredit', true);
+            }
+          }
           receipt.trigger('closed', {
             callback: function () {
               // receipt is cloned because the receipt is deleted when event "closed" is triggered
@@ -720,4 +734,4 @@
       callback(approved, supervisor, approvalType);
     }
   }
-});
+});
\ No newline at end of file
