第一篇:個人財務管理系統
//引入包
import java.awt.GridLayout;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import java.sql.*;import java.text.DateFormat;import java.text.SimpleDateFormat;import org.apache.log4j.*;import java.util.Calendar;import java.util.Vector;import javax.swing.*;import javax.swing.table.DefaultTableModel;
public class MainTest extends JFrame{
public static final long serialVersionUID = 1l;Vector v=new Vector();private JButton jb1,jb2,jb3,jb4,jb5,jtf3Listener;//按鈕 private JScrollPane jsp;//滾動條 private JPanel jp1,jp2,jp3,jp4,jp5,jp6,jserver,jtable;//控件面板
private JLabel jl1,jl2,jl3,jl4,jl5;//標簽 private JMenu jm1,jm2;//菜單 private JMenuItem ji1,ji2;//菜單子項 //表格
BankCard bc=new BankCard();//新建類BankCard boolean flag=false;private String version=“V1.5”;private JTextField jtf,jtf2,jtf3,jtf4,jtf5;//文本框
private JMenuBar jmb1;//菜單欄
DefaultTableModel model = new DefaultTableModel();String[] columnNames={“姓名”,“金額”,“日期”,“備注”};//創建日志記錄器
private static Logger logger=Logger.getLogger(MainTest.class.getName());
//主程序入口
public static void main(String[] args){ new MainTest();
//窗口初始化
public MainTest(){ }
//窗口初始化
this.setTitle(“個人財務管理系統”+version+“(內測版By ZQ)”);this.setSize(800,300);this.setLocation(450, 300);this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);GridLayout Grid=new GridLayout(1,2);this.setLayout(Grid);this.setResizable(true);
jserver=new JPanel(new GridLayout(7,1));jtable=new JPanel(Grid);
//菜單欄構建
jmb1=new JMenuBar();jm1=new JMenu();jm1.setText(“幫助”);jm2=new JMenu();jm2.setText(“文件”);ji1=new JMenuItem();ji1.setText(“軟件須知”);ji1.addActionListener(new MyBtnListener());ji2=new JMenuItem();ji2.setText(“退出”);ji2.addActionListener(new MyBtnListener());jb4=new JButton(“連接”);jb4.addActionListener(new MyBtnListener());jb5=new JButton(“斷開”);jb5.addActionListener(new MyBtnListener());jm1.add(ji1);jm2.add(ji2);jmb1.add(jm2);jmb1.add(jm1);jmb1.add(jb4);jmb1.add(jb5);jserver.add(jmb1);
//信息錄入框(Label+Message)jp1=new JPanel();jl1=new JLabel(“姓 名:”);jtf=new JTextField(20);jp1.add(jl1);jp1.add(jtf);jserver.add(jp1);
jp2=new JPanel();jl2=new JLabel(“金 額:”);jtf2=new JTextField(20);jp2.add(jl2);jp2.add(jtf2);jserver.add(jp2);
jp3=new JPanel();jl3=new JLabel(“日 期:”);jtf3=new JTextField(14);jtf3Listener=new JButton(“選擇”);jtf3Listener.addActionListener(new MyBtnListener());jp3.add(jl3);jp3.add(jtf3);jp3.add(jtf3Listener);jserver.add(jp3);
jp4=new JPanel();jl4=new JLabel(“備 注:”);jtf4=new JTextField(20);jp4.add(jl4);jp4.add(jtf4);jserver.add(jp4);
//服務器連接按鈕
jp5=new JPanel();jl5=new JLabel(“服務器:”);jtf5=new JTextField(20);jtf5.setText(“localhost:1433”);jp5.add(jl5);jp5.add(jtf5);jserver.add(jp5);//信息檢索 jp6=new JPanel();
jb1=new JButton(“添加”);/* * URL url=MainTest.class.getResource(“20***7527_easyicon_net_128.png”);
Icon icon=new ImageIcon(url);jb1.setIcon(icon);*/ jb1.addActionListener(new MyBtnListener());jb2=new JButton(“查詢”);jb2.addActionListener(new MyBtnListener());jb3=new JButton(“余額”);
jb3.addActionListener(new MyBtnListener());jp6.add(jb1);jp6.add(jb2);jp6.add(jb3);jserver.add(jp6);
//創建表格------model.setColumnIdentifiers(columnNames);JTable jt1 = new JTable(null, columnNames);
jt1=new JTable(model);model.addRow(new String[]{“",”“,”“,”“});jt1.setAutoResizeMode(JTable.AUTO_RESIZE_ALL_COLUMNS);jt1.setFillsViewportHeight(true);jsp=new JScrollPane(jt1);jtable.add(jsp);
this.add(jserver);this.add(jtable);this.setVisible(true);}
public void TableValue(String[] s){ model.addRow(s);} public class BankCard { private int message = 0;String Name=”“;String sql=”“;Date Date=null;int Money;int i=0;Connection conn=null;Statement stmt=null;ResultSet rs=null;PreparedStatement pstmt = null;ResultSetMetaData rsmd = null;Object ss=null;
public int Save(Person p){ //數據存儲 try{
int sum=getSum();if(p.Money<0&&(-p.Money)>sum){
message=0;}else{ stmt = conn.createStatement();
sql= ”insert into BankCard(Name,Money,Date,Message)“ +
”values('“+p.Name+”',“+p.Money+”,'“+p.Date+”','“+p.Message+”')“;stmt.execute(sql);System.out.println(p);System.out.println();
System.out.println(”添加成功!“);message=1;} }catch(SQLException e3){logger.error(e3);} return message;} /* public void getMessage(String name,String date){ //檢索對象信息
Person p=new Person();
} System.out.println();System.out.println(”---------------檢索結 try{
sql=“Select * from BankCard Where Name=”+“'”+name+“' and
pstmt = conn.prepareStatement(sql.toString());
rs = pstmt.executeQuery();rsmd = rs.getMetaData();while(rs.next()){
p.Name=rs.getString(”Name“);p.Date=rs.getString(”Date“);p.Message=rs.getString(”Message“);p.Money=rs.getInt(”Money“);Date=”+“'”+date+“'”;束!---------------“);
}catch(SQLException e3){logger.error(e3);} }*/ public void getMessage(String Message,int idea){ //檢索對象信息
Person p=new Person();model.setRowCount(0);
try{
if(Message!=”null“ && idea==1){ //輸入null查詢所有數據
sql=”Select * from BankCard Where
}else if(Message!=“null” && idea==2){
sql=“Select * from BankCard Where Name=”+“'”+Message+“'”;sql=“Select * from BankCard”;
}else {
}
pstmt = conn.prepareStatement(sql.toString());rs = pstmt.executeQuery();rsmd = rs.getMetaData();Date=“+”'“+Message+”'“;
if(rs.next()==false){JOptionPane.showMessageDialog(getContentPane(),”沒有記錄,請確認信息是否正確“,”警告!“,JOptionPane.WARNING_MESSAGE);}
do{
p.Name=rs.getString(”Name“);p.Date=rs.getString(”Date“);p.Message=rs.getString(”Message“);p.Money=rs.getInt(”Money“);model.addRow(new System.out.println(p);}while(rs.next());String[]{p.Name,String.valueOf(p.Money),p.Date,p.Message});System.out.println();System.out.println(”---------------檢索結束!---------------“);
}catch(SQLException e3){logger.error(e3);} } public int getSum(){ //獲取余額
sql=”Select * from BankCard“;rs = pstmt.executeQuery();rsmd = rs.getMetaData();while(rs.next()){ Sum+=rs.getInt(”Money“);} }catch(SQLException e3){logger.error(e3);} pstmt = conn.prepareStatement(sql.toString());int Sum = 0;try{ System.out.println();return Sum;} public int getDay(){ //獲取當月天數
Calendar aCalendar=Calendar.getInstance();int Day=aCalendar.get(Calendar.DATE);return Day;} public void Advise(){ //友情提示入口
int Sum = 0;
int Sum1= 0;int Day=getDay();try{ sql=”Select * from BankCard“;rs = pstmt.executeQuery();rsmd = rs.getMetaData();while(rs.next()){
Sum1+=rs.getInt(”Money“);
if(rs.getInt(”Money“)<0)Sum+=rs.getInt(”Money“);} }catch(SQLException e3){logger.error(e3);} if(Day==10 || Day==20 || Day==30 ||(-Sum)>Sum1){ pstmt = conn.prepareStatement(sql.toString());JOptionPane.showMessageDialog(null,”友情提示,截至本月“+Day+”日您已花費:“+(-Sum)+”元----“+”當前余額:“+Sum1+”元“,”警告!“,JOptionPane.WARNING_MESSAGE);}
public boolean testJDBC(String testJDBC){ //建立服務器連接 boolean flag=true;
//[2]建立連接 try{ String sql=”jdbc:sqlserver://“+testJDBC+”;DataBaseName=MoneyManager“;conn=DriverManager.getConnection(sql,”Welcome“,”zhang1298“);
//conn=DriverManager.getConnection(”jdbc:sqlserver://localhost:1433;DataBaseName=MoneyManager“,”sa“,”zhang1298“);System.out.println(”----——--------建立連接成功!------------“);try{ //[1]加載驅動
Class.forName(”com.microsoft.sqlserver.jdbc.SQLServerDriver“);} }catch(ClassNotFoundException e1){logger.error(e1);} System.out.println();Advise();}catch(SQLException e){logger.error(e);flag=false;} return flag;} public boolean ExitJDBC(){ //斷開服務器連接
boolean flag=true;
}
public class FrameChange implements Runnable {
public void run(){ int x = MainTest.this.getX();try{
//關閉數據連接
if(null!= stmt){ stmt.close();} if(null!= conn){conn.close();} System.out.println(”-------------數據庫關閉成功!-----------“);System.out.println();}catch(SQLException e2){logger.equals(e2);flag=false;} return flag;}
int y = MainTest.this.getY();
for(int i = 0;i <50;i++){
if((i & 1)== 0){
x += 3;
y += 3;
} else {
x-= 3;
y-= 3;
}
MainTest.this.setLocation(x, y);
try {
}
} Thread.sleep(5);// TODO Auto-generated catch block e.printStackTrace();} catch(InterruptedException e){ } }
//添加信息
if(arg0.getSource()==jb1){
public void actionPerformed(ActionEvent arg0){ try{ //按鈕監聽器
class MyBtnListener implements ActionListener{ if(jtf.getText().length()!=0&&jtf3.getText().length()!=0&&jtf2.getText().length()!=0){
Person p=new Person();p.Name=jtf.getText();
p.Money=Integer.parseInt(jtf2.getText());p.Date=jtf3.getText();p.Message=jtf4.getText();int
n=JOptionPane.showConfirmDialog(getContentPane(),”請確認信息,一旦添加無法更改“,”信息確認!“,JOptionPane.YES_NO_CANCEL_OPTION);
if(n==JOptionPane.YES_OPTION){
int message=bc.Save(p);if(message==0){
JOptionPane.showMessageDialog(getContentPane(),”當前余額:“+bc.getSum()+”元,小于您的取款要求:“+-p.Money+”元,請檢查信息是否錯誤!“,”警告!“,JOptionPane.WARNING_MESSAGE);
jtf2.setText(”“);
}else if(message==1){
jtf.setText(”“);
jtf2.setText(”“);
jtf3.setText(”“);
jtf4.setText(”“);
}
} }else{
new FrameChange().run();
JOptionPane.showMessageDialog(getContentPane(),”請輸入完整信息“,”警告!“,JOptionPane.WARNING_MESSAGE);
}
//查詢信息 }else if(arg0.getSource()==jb2){
if(jtf.getText().length()==0 && jtf3.getText().length()==0){ //查詢所有
bc.getMessage(”null“,0);
}else if(jtf.getText().length()==0&&jtf3.getText().length()!=0){ //按日期查詢
bc.getMessage(jtf3.getText().toString(),1);
}else if(jtf.getText().length()!=0&&jtf3.getText().length()==0){ //按人名查詢
bc.getMessage(jtf.getText().toString(),2);}
/*else if(jtf.getText().length()!=0&&jtf3.getText().length()!=0){ //按日期,人名查詢
bc.getMessage(jtf.getText(), jtf3.getText());}*/ //查詢余額
}else if(arg0.getSource()==jb3){
int Sum=bc.getSum();
JOptionPane.showMessageDialog(getContentPane(),”當前余額:“+Sum+”元“,”余額查詢“,JOptionPane.WARNING_MESSAGE);
//連接服務器
}else if(arg0.getSource()==jb4){
flag=bc.testJDBC(jtf5.getText());
if(flag){
jtf5.setText(”已連接服務器“);jtf5.setEditable(false);jb4.setEnabled(false);JOptionPane.showMessageDialog(getContentPane(),”
}else{ 無法連接到數據庫,服務器未打開或端口錯誤“,”警告“,JOptionPane.WARNING_MESSAGE);
} //斷開連接
}else if(arg0.getSource()==jb5){
flag=bc.ExitJDBC();
if(flag){ JOptionPane.showMessageDialog(getContentPane(),”已斷開服務器!“,”提示“,JOptionPane.WARNING_MESSAGE);
jtf5.setText(”localhost:1433“);jtf5.setEditable(true);jb4.setEnabled(true);JOptionPane.showMessageDialog(getContentPane(),”
}else{ 數據庫斷開失敗,請重試“,”提示“,JOptionPane.WARNING_MESSAGE);
}
//(菜單)幫助-軟件介紹
}else if(arg0.getSource()==ji1){ JOptionPane.showMessageDialog(getContentPane(),”軟件名稱:個人財務管理系統n軟件版本:“+version+”(內測版本)n作 者:張強n更新時間:2015-5-24“,”軟件簡介“,JOptionPane.WARNING_MESSAGE);
;
cldMax=format.format(calendar1.getTime());while(!cld.equals(cldMax)){
//日期選擇
}else if(arg0.getSource()==jtf3Listener){
try {
int i=0;
String[] possible =new String[31];DateFormat format = new
Calendar calendar=Calendar.getInstance();Calendar calendar1=Calendar.getInstance();String cld,cldMax;
cld=format.format(calendar.getTime());
//(菜單)文件-退出
}else if(arg0.getSource()==ji2){ int x=MainTest.this.getX();int y=MainTest.this.getY();
for(int i = 0;i <300;i++){
x=x-3;
y=y-2;
MainTest.this.setSize(x, y);
Thread.sleep(1);
}
System.exit(0);SimpleDateFormat(”yyyy-M-dd“);calendar.set(Calendar.DATE,calendar.getActualMinimum(Calendar.DATE));calendar1.set(Calendar.DATE,calendar.getActualMaximum(Calendar.DATE))
possible[i]=cld;
calendar.add(Calendar.DAY_OF_MONTH,1);
cld=format.format(calendar.getTime());
}
possible[i]=cld;String i=i+1;selectedValue=JOptionPane.showInputDialog(null,”請選擇:“,”日期“, JOptionPane.INFORMATION_MESSAGE, null, possible, possible[0]).toString();
}
if(selectedValue!=”“){
jtf3.setText(selectedValue);}else{}
// TODO Auto-generated catch block
} catch(Exception e){ } }catch(Exception e){new FrameChange().run();JOptionPane.showMessageDialog(getContentPane(),”請先連接服務器“,”警告!“,JOptionPane.WARNING_MESSAGE);
} //System.out.println(”請先連接服務器“);} }
} }
public class Person {
String Name=”“;
int Money;
String Date=null;
String Message=null;public Person(){};
public Person(String name, int money,String date,String Message){
}
public String toString(){ return ”姓名:“ + Name + ” 金額:“ + Money + ” 日期:“ + Date +” 備super();Name = name;Money = money;this.Date = date;this.Message=Message;
注:"+ Message;} }
第二篇:c++個人財務管理系統
個人財務管理系統
//mynumber.h #include
string password;stringacnumber;string person1;string person2;};const record mark={“notimen”,“non”,0};class account {public: struct record A;struct code B;intcheckacnumber();intcheckpassword();voidoldrecord(const char *filetxt);void inquire(const char *filetxt);void del(const char *filetxt);void increase(const char *filetxt);voidCreateTxt(const char *filetxt);voidprintall(const char *filetxt);voidprintincome(const char *filetxt);voidprintpay(const char *filetxt);voidModifynumber();voidCreateDat();void Initial(const char *filetxt);intendmark(record A);intfindback();voidrecyclebin(const char *filetxt);};//main.cpp #include“mynumber.h” const char *file=“E:RecordFile.txt”;int main(){cout<<“
歡迎使用個人財務管理系統n”;cout<<“-----------n”;cout<<“|
|n”;cout<<“|
1.登陸
|n”;cout<<“|
2.注冊
|n”;cout<<“|
cout<<”-----------n“;intn,k,t;cin>>n;account X;if(n==2){X.CreateDat();n=1;} if(n==1)
{k=X.checkacnumber();if(k==0)exit(0);else {t=X.checkpassword();if(t==0)exit(0);else while(1){cout<<”-----------請選擇您要進行的操作-----------n“;cout<<”|
cout<<“|
0.退出系統
cout<<”|
1.查找記錄
cout<<“|
2.增加記錄
cout<<”|
3.刪除記錄
cout<<“|
4.輸出所有記錄
cout<<”|
5.輸出所有收入記錄
cout<<“|
6.輸出所有支出記錄
cout<<”|
7.修改密碼
cout<<“|
8.初始化記錄
cout<<”|
9.回收站
char choice;cin>>choice;switch(choice){case'0':cout<<“感謝您使用本系統!n”;exit(0);case'1':X.inquire(file);break;case'2':X.increase(file);break;case'3':X.del(file);break;case'4':X.printall(file);break;case'5':X.printincome(file);break;
|n“;|n”;
|n“;|n”;|n“;|n”;|n“;|n”;|n“;|n”;|n“;|n”;case'6':X.printpay(file);break;case'7':X.Modifynumber();break;case'8':X.Initial(file);break;case'9':X.recyclebin(file);break;} cout< //check-acnumber.cpp #include“mynumber.h” int account::checkacnumber(){stringa;int j=3;ifstreamfdat(“E:accountFile.dat”,ios::in);cout<<“請輸入您的賬號: ”;while(j--){cin>>a;fdat.seekg(0,ios::beg);fdat.read((char*)&B,sizeof(code));if(a==B.acnumber){fdat.close();return 1;} else cout<<“此賬號不存在,請重新輸入!n”;} cout<<“n您的賬號已輸錯三次!請退出系統!n”;fdat.close();return 0;} //check-password.cpp #include“mynumber.h” int account::checkpassword(){ifstreamfdat(“E:accountFile.dat”,ios::in);strings;int j=3,x;cout<<“請輸入密碼:”;while(j--){cin>>s;fdat.seekg(0,ios::beg);fdat.read((char*)&B,sizeof(code));if(s==B.password){fdat.close();return 1;} else cout<<“密碼錯誤,請重新輸入!n”;} cout<<“n您輸入的密碼已錯誤三次,請問想找回密碼嗎?(Y/N)n”;char answer;cin>>answer;if(answer=='Y'||answer=='y'){x=account::findback();if(x==1)return 1;else return 0;} else {cout<<“感謝您使用本系統,再見!n”;return 0;} } //CreateDat.cpp #include“mynumber.h” void account::CreateDat(){codeB;stringa,b;account::oldrecord(“E:RecordFile.txt”);fstream temp(“E:lalala.txt”,ios::out|ios::binary);fstream rub(“E:RecycleBin.txt”,ios::out|ios::binary);temp.seekp(0,ios::beg);temp.write((char*)&mark,sizeof(record));rub.seekp(0,ios::beg);rub.write((char*)&mark,sizeof(record));while(1){cout<<“請輸入您要注冊的賬號:”;cin>>B.acnumber;cout< { cout<<“為了便于驗證身份,請您填寫以下信息作為驗證方式n”;cout<<“自己身高多少:”;cin>>B.person1;cout<<“自己顏值多高:”;cin>>B.person2;cout<<“(自己身高多少:”< ”<<“(自己顏值多高:”< {stringE;int n=0;char answer;cout<<“請輸入您要刪除的日期:”;cin>>E;fdat.seekg(0,ios::beg);do {fdat.read((char*)&A,sizeof(record));if(E==A.time){n++;cout<<“(”< { cout<<“沒有該日期的記錄!n”<<“您還要繼續刪除記錄嗎?(Y/N)n”;cin>>answer;if(answer=='Y'||answer=='y'){cout< {rub.read((char*)&A,sizeof(record)); }while(!endmark(A)); rub.seekp(-long(sizeof(record)),ios::cur);do {fdat.read((char*)&A,sizeof(record)); if(A.time!=E&&!endmark(A)){ftxt.write((char*)&A,sizeof(record));} if(A.time==E&&!endmark(A)){rub.write((char*)&A,sizeof(record));} }while(!endmark(A));ftxt.write((char*)&mark,sizeof(record));rub.write((char*)&mark,sizeof(record));fdat.seekp(0,ios::beg);ftxt.seekg(0,ios::beg);do {ftxt.read((char*)&A,sizeof(record)); if(!endmark(A)) fdat.write((char*)&A,sizeof(record)); }while(!endmark(A)); fdat.write((char*)&mark,sizeof(record));cout<<“成功刪除記錄!n”;cout<<“您是否還要繼續刪除日期記錄?(Y/N)n”;cin>>answer;if(answer=='Y'||answer=='y'){cout< //findback.cpp #include“mynumber.h” int account::findback(){fstreamfdat(“E:accountFile.dat”,ios::in|ios::out|ios::binary);fdat.seekg(0,ios::beg);fdat.read((char*)&B,sizeof(code));stringa,b,c,d;cout<<“自己身高多少:”;cin>>a;if(a!=B.person1){cout<<“n驗證錯誤!請退出系統!n”;return 0;} else {cout<<“自己顏值多高:”;cin>>b;if(b!=B.person2){cout<<“n驗證錯誤!請退出系統!n”;return 0;} else {cout<<“n驗證成功!請修改您的密碼!n”;account::Modifynumber();fdat.close();return 1;} } } //increase.cpp #include“mynumber.h” void account::increase(const char* filetxt){ fstreamfdat(filetxt,ios::in|ios::out|ios::binary);while(1){ record D; cout<<“請輸入您要添加的日期:”; cin>>D.time; cout<<“請輸入所添加日期的操作:”; cin>>D.operate; cout<<“請輸入所添加日期的支出或收入:”; cin>>D.money; cout.setf(ios::showpos); cout<<“(”< cout<<“n是否確定將該日期記錄進行保存?(Y/N)n”;char answer;cin>>answer;if(answer=='Y'||answer=='y'){fdat.seekg(0,ios::beg); do {fdat.read((char*)&A,sizeof(record)); }while(!endmark(A)); fdat.seekp(-long(sizeof(record)),ios::cur); fdat.write((char*)&D,sizeof(record)); fdat.write((char*)&mark,sizeof(record)); cout<<“n您是否還要繼續添加日期記錄?(Y/N)n”; cin>>answer; if(answer=='Y'||answer=='y'){cout< else {cout<<“記錄保存成功!n”;fdat.close();break;} }else {cout<<“取消操作!n”;cout<<“您還要進行日期記錄添加的操作嗎?(Y/N)n”;cin>>answer;if(answer=='Y'||answer=='y')continue;else {fdat.close();break;} } } } //Initial.cpp #include“mynumber.h” externconst record mark;void account::Initial(const char *filetxt){fstreamfdat(filetxt,ios::out|ios::binary);cout<<“若賬目文件存在,將刪除所有數據,要進行文件初始化嗎?(Y/N)n”;char answer;cin>>answer;if(answer=='Y'||answer=='y'){fdat.seekp(0,ios::beg);fdat.write((char*)&mark,sizeof(record));cout<<“文件已經初始化。n”;} else cout<<“取消操作n”;fdat.close();} //inquire.cpp #include“mynumber.h” void account::inquire(const char* filetxt){cout<<“請輸入您要查詢的日期:”;string date;int sum=0,income=0,pay=0,n=0;cin>>date;fstreamftxt(filetxt,ios::in|ios::binary);ftxt.seekg(0,ios::beg);do {ftxt.read((char*)&A,sizeof(record));if(date==A.time&&!endmark(A)){n++;if(n==1)cout<<“Time operate moneyn”;cout< ”< ”< //oldrecord.cpp #include“mynumber.h” externconst record mark;void account::oldrecord(const char *filetxt){record a[20];record A;a[0].time=“15-03-20”;a[0].operate=“in”;a[0].money=+10;a[1].time=“14-05-20”;a[1].operate=“out”;a[1].money=-20;a[2].time=“14-06-21”;a[2].operate=“out”; a[2].money=-35;a[3].time=“14-05-21”;a[3].operate=“out”;a[3].money=-40;a[4].time=“15-05-22”;a[4].operate=“in”;a[4].money=+100;a[5].time=“15-05-25”;a[5].operate=“out”;a[5].money=-25;a[6].time=“15-05-26”;a[6].operate=“out”;a[6].money=-15;a[7].time=“14-11-26”;a[7].operate=“out”;a[7].money=-70;a[8].time=“15-03-26”;a[8].operate=“in”;a[8].money=+100;a[9].time=“15-02-27”;a[9].operate=“out”;a[9].money=-40;a[10].time=“15-05-28”;a[10].operate=“in”;a[10].money=+100;a[11].time=“15-05-28”;a[11].operate=“out”;a[11].money=-20;a[12].time=“15-04-28”;a[12].operate=“out”;a[12].money=-10;a[13].time=“15-05-29”;a[13].operate=“in”;a[13].money=+88;a[14].time=“15-05-30”;a[14].operate=“out”;a[14].money=-61;a[15].time=“15-06-01”;a[15].operate=“out”;a[15].money=-18;a[16].time=“15-06-04”;a[16].operate=“out”;a[16].money=-23;a[17].time=“15-06-05”;a[17].operate=“in”;a[17].money=+11;a[18].time=“15-06-03”;a[18].operate=“out”;a[18].money=-52;a[19].time=“15-06-08”;a[19].operate=“in”;a[19].money=+50;fstream file(filetxt,ios::out|ios::binary);file.seekp(0,ios::beg);for(inti=0;i<20;i++){file.write((char*)&a[i],sizeof(record));} file.write((char*)&mark,sizeof(record));file.close();} //PrintAll.cpp #include“mynumber.h” void account::printall(const char* filetxt){ int sum=0,income=0,pay=0,i=0,t;record q[100];strings,x;fstreamftxt(filetxt,ios::in|ios::binary);ftxt.seekg(0,ios::beg);do { ftxt.read((char*)&A,sizeof(record));if(!endmark(A)){q[i].time=A.time;q[i].operate=A.operate;q[i].money=A.money;i++;if(A.operate==“in”){sum=sum+A.money;income=income+A.money;} else {sum=sum+A.money;pay=pay+A.money;}} }while(!endmark(A));if(i>1) {for(int k=0;k {s=q[j].time;q[j].time=q[k].time;q[k].time=s; x=q[j].operate;q[j].operate=q[k].operate;q[k].operate=x; t=q[j].money;q[j].money=q[k].money;q[k].money=t;} } cout<<“Time operate moneyn”;for(int k=0;k ”< ”< ”< ”< moneyn“;cout< “< “< {s=q[j].time;q[j].time=q[k].time;q[k].time=s; x=q[j].operate;q[j].operate=q[k].operate;q[k].operate=x; t=q[j].money;q[j].money=q[k].money;q[k].money=t;} } cout<<”Time operate moneyn“;cout.setf(ios::showpos);for(int k=0;k “< “< operate moneyn“;cout< “< “< //printpay.cpp #include”mynumber.h“ void account::printpay(const char* filetxt){ int sum=0,n=0,i=0,t;record q[100];string s,x;fstreamftxt(filetxt,ios::in|ios::binary);ftxt.seekg(0,ios::beg);do { ftxt.read((char*)&A,sizeof(record));if(!endmark(A)&&A.operate==”out“){n++;q[i].time=A.time;q[i].operate=A.operate;q[i].money=A.money;i++;sum=sum+A.money;} }while(!endmark(A));if(i>1){for(int k=0;k {s=q[j].time;q[j].time=q[k].time;q[k].time=s; x=q[j].operate;q[j].operate=q[k].operate;q[k].operate=x; t=q[j].money;q[j].money=q[k].money;q[k].money=t;} } cout<<”Time operate moneyn“;for(int k=0;k “< “< operate moneyn“;if(q[0].money)cout< “< “< //RecycleBin.cpp #include”mynumber.h“ void account::recyclebin(const char* filetxt){fstream rub(”E:RecycleBin.txt“,ios::in|ios::out|ios::binary);fstreamfdat(filetxt,ios::in|ios::out|ios::binary);fstreamftxt(”E:lalala.txt“,ios::in|ios::out|ios::binary);string s;cout<<”n 請選擇您要進行的操作n“;cout<<”|-----------------------------|n“;cout<<”|------1.找回誤刪日期記錄-----|n“;cout<<”|------2.清空回收站-----------|n“;cout<<”|------3.取消操作-------------|n“;cout<<”|-----------------------------|n“;string x;cin>>x;if(x==”1“){rub.seekg(0,ios::beg);rub.read((char*)&A,sizeof(record));if(endmark(A)){cout<<”您還未刪除過日期或者回收站已經清空!n“;} else while(1){int n=0;cout<<”n回收站的日期記錄如下:n“;account::printall(”E:RecycleBin.txt“);cout<<”請輸入您要回收的日期:“;cin>>s;rub.seekg(0,ios::beg);do {rub.read((char*)&A,sizeof(record));if(s==A.time&&!endmark(A)){n++;break;} }while(!endmark(A));if(n==0) {cout<<”n回收站無該日期記錄!n“;cout<<”您確定要找回誤刪的日期記錄嗎?(Y/N)n“;char answer;cin>>answer;if(answer=='Y'||answer=='y')continue;else {cout<<”已取消操作n“;break;}} else {fdat.seekg(0,ios::beg);do {fdat.read((char*)&A,sizeof(record));}while(!endmark(A));fdat.seekp(-long(sizeof(record)),ios::cur);rub.seekg(0,ios::beg);do {rub.read((char*)&A,sizeof(record));;if(s==A.time&&!endmark(A)){fdat.write((char*)&A,sizeof(record));} }while(!endmark(A));rub.seekg(0,ios::beg);ftxt.seekp(0,ios::beg);do {rub.read((char*)&A,sizeof(record));if(A.time!=s&&!endmark(A)){ftxt.write((char*)&A,sizeof(record));} }while(!endmark(A));ftxt.write((char*)&mark,sizeof(record));rub.seekp(0,ios::beg);ftxt.seekg(0,ios::beg);do {ftxt.read((char*)&A,sizeof(record));if(!endmark(A))rub.write((char*)&A,sizeof(record));}while(!endmark(A));rub.write((char*)&mark,sizeof(record));rub.close();fdat.close();ftxt.close();cout<<”回收成功!n“;break;} } } else if(x==”2“){char answer;cin>>answer;cout<<”您確定要清空回收站?(Y/N)n“;if(answer=='Y'||answer=='y'){rub.clear();rub.seekp(0,ios::beg);rub.write((char*)&mark,sizeof(record));rub.close();cout<<”回收站清空成功!n“;} else cout<<”已取消操作n“;} else if(x==”2“)cout<<”取消操作成功!n“;else cout<<”沒有此選項!n“;} //endmark.cpp #include”mynumber.h" int account::endmark(record A){if(A.money==0)return 1;return 0;} 完善財務管理系統,以適應不斷變化的財務管理環境 財務管理的宏觀環境雖然客觀存在于企業之外,企業無法對其施加影響或加以控制,但并不意味著企業面對環境變化就無能為力。首先,企業應對不斷變化的財務管理宏觀環境認真分析,把握其變化趨勢及規律,并制定多種應變措施,適時調整財務管理政策,改變財務管理方法,從而提高企業對財務管理環境變化的適應能力和應變能力,以此降低和規避因環境變化給企業帶來的財務風險。其次,面對不斷變化的財務管理環境,財務管理體系應與時俱進,不斷更新、完善。企業應設置合理、高效的財務管理機構,配備高素質的財務管理人員,健全財務管理規章制度,強化財務管理的各項基礎工作,使企業財務管理系統高效運行,以防范因財務管理系統不適應環境變化而產生的財務風險。 2.強化財務風險防范意識,樹立正確的財務風險觀念 在市場經濟的激烈競爭中,樹立風險意識,勇于承擔并善于分散風險是現代企業成功的關鍵。因此,現代企業必須樹立正確的財務風險觀念,遵守風險收益均衡的原則,不能只顧收益而不考慮發生損失的可能性。企業各部門、各人員,特別是企業的決策管理部門和財務管理人員必須增強風險防范意識,將風險防范意識滲透于財務管理工作的各個環節。財務管理人員要掌握扎實的財會專業知識,具備財務信息的收集、整理和分析能力;要具有對財務風險的敏感的、準確的職業判斷能力,及時、準確地估計和發現潛在的財務風險,并能對具體環境下的風險作出判斷和提出解決方案。 3.提高財務決策的科學化水平 財務決策的正確與否直接關系到財務管理工作的成敗,在決策過程中,應充分考慮影響決策的各種因素,采用定量計算及分析方法,并運用科學的決策模型進行決策。如在籌資決策中,企業應根據生產經營情況合理預測資金需要量,然后通過對資金成本的計算分析及各種籌資方式的風險分析,選擇正確的籌資方式,確定合理的資金結構,并在此基礎上做出正確的籌資決策,以降低籌資成本,減少財務風險。在投資決策中,企業要堅持以效益為中心的投資原則,統一使用資金,使資金投向配置更合理,既要避免過分分散又要避免過分集中。同時通過投資回收期、投資報酬率、凈現值及內部報酬率等指標對投資項目進行綜合分析評價,從而避免財務決策失誤所帶來的財務風險。 4.加強企業內部管理,理順企業內部財務關系 加強企業內部管理,調整資金及資產結構,減少和降低不合理的資金占用,提高資金的使用效率和周轉速度。要合理確定債務資金與自有資金、短期資金與長期資金的比例關系,并隨著企業生產的變化而變化,始終處于一種動態的管理過程中。要加強應收賬款的風險防范與控制,建立一套科學、系統的應收賬款體系,注重評估客戶的財務狀況和資信狀況,謹慎簽訂合同,定期分析賬齡,緊密跟蹤應收賬款的還款情況,合理制定收款政策,控制風險,減少壞賬損失。對于存貨,在保證生產和銷售順利進行的同時使存貨總成本達到最低水平。在實際工作中,可以調查、總結已有的經驗,運用存貨管理中的最佳訂貨批量模型來確定存貨量,以減少損失。同時,要理順企業內部財務關系,做到責、權、利相統一,明確各部門在企業財務管理中的地位、作用及應承擔的職責,并賦予相應的權力,真正做到權責分明,各負其責,使企業內部各種財務關系清晰明了,減少企業因管理不善而造成的財務風險。 5.合理利用防范風險的技術方法 現代企業可以利用多種方法來防范和規避財務風險,具體包括:(1)分散法。即通過企業之間聯營、多種經營及對外投資多元化等方式分散財務風險。對于風險較大的投資項目,企業可以與其它企業共同投資,以實現收益共享、風險共擔,避免企業獨家承擔投資而產生的財務風險。在多種經營方式下,某些產品因滯銷而產生的損失,會被其他產品帶來的收益所抵消,從而可避免單一經營產生的無法實現預期收益的風險。(2)回避法。即企業在選擇理財方式時,應綜合評價各種方案可能產生的財務風險,在保證財務管理目標的前提下,選擇風險較小的方案,以達到回避財務風險的目的。一般來講,長期投資的風險大于短期投資風險,股權投資風險大于債權投資風險,所以,企業選擇投資方式時,盡可能采用風險低的債權投資和短期投資。(3)轉移法。企業在遵循合法、合理、公平、公正原則的基礎上,可以采取措施轉嫁風險。它包括保險轉移和非保險轉移。保險轉移是指企業通過購買財務保險將財產損失的風險轉移給保險公司承擔;非保險轉移是將某種特定風險轉移給專門機構或部門。如對企業閑置的資產,采用出租或立即售出的處理方式,將資產損失的風險轉移給承租方或購買方。(4)降低法。即企業面對客觀存在的財務風險,努力采取措施降低財務風險的方法。如企業可在保證資金需要的前提下,適當降低負債資金占全部資金的比重。在生產經營活動中,可以通過提高產品質量、改進產品設計、開發新產品及開拓新市場等手段,降低因產品滯銷、市場占有率下降而產生的不能實現預期收益的財務風險。另外,也可以按照穩健原則建立風險基金,以此降低風險損失對企業正常生產經營的影響。 6.建立有效的財務風險防范機制 企業應立足于市場,建立有效的風險防范和規避機制。首先,要建立完善的風險防范體系,健全財務風險管理機制,要抓好企業內控制度建設,明確企業財務風險監管職責,落實好分級負責制,建立經營者風險決策的激勵與約束制度,以健全的獎懲體系為前提,鼓勵經營者在公平競爭中進行經營管理活動并享受風險經營的收益,同時,要確保經營者能夠擔負起風險責任,承擔風險損失。其次,企業要建立實時、全面、動態的財務預警系統,對企業在經營管理活動中的潛在風險進行實時監控。 宜賓市系統財務管理規定 一、為進一步嚴格財經紀律,規范和加強財務管理,提高財會人員的業務素質、政策水平和法制觀念,保障各項資金統籌安排和有序使用,根據上級有關規定和本系統的實際情況,特制定本規定。 二、本規定適用于局機關、局屬事業單位、工會及群團組織、系統行業協會。 三、財務管理必須遵循以下基本原則 (一)嚴格遵守國家有關法律、法規、財經紀律和現行財務制度; (二)增收節支、開源節流,提倡厲行節約,制止奢侈浪費。 (三)加強固定資產管理,防止國有資產流失; (四)保障資金安全、合理使用資金、提高資金用效益。 四、財務管理 (一)財務人員要正確認真登記各類賬簿,真實反映本單位的經濟活動情況,為提高單位經濟效益,加強內部管理,提供準確的信息和依據,給領導當好參謀。不得偽造、變造、買賣、擅自銷毀財務憑證。 (二)嚴格執行上級規定的各種資金開支渠道和開支標準,正確使用會計制度中規定的會計科目,不準任意擴大開支范圍和提高開支標準,亂攤亂擠成本;各種開支要在規定的科目內支付,不得偷稅漏稅。 (三)單位的各種業務收入,必須按規定準確登記入賬并歸集到規定的科目內,不準出現隱瞞和虛增收入。 (四)必須建立健全財產清查制度。定期清查核對庫存現金、銀行存款、空白現金收支憑證、空白銀行存款轉帳憑證,及時清算債權、債務,保證帳證、帳表、帳帳、帳實相符。 (五)帳目要做到日清月結,建立會計檔案立卷、歸檔、保管制度。 (六)單位財務報表、統計報表必須字跡清楚、數字準確,要按照規定時間報送。季報年報必須有財務分析。 (七)工會和行業協會的帳目納入單位財務統一管理。 (八)單位財務收支情況每年應公布一至二次。 (九)不得違規發放津貼、補貼或變相提高福利待遇。 (十)未經批準,不得擅自為他人或提代擔保。 五、預算外資金及專項資金管理 (一)嚴格執行收支兩條線,加強預算外資金管理,不得滯留、截留、挪用應當上繳的財政收入。 (二)按照國家有關規定,安排預算外資金的使用。嚴格劃清預算內資金和預算外資金的界限,不得將預算內資金以各種名目轉移到預算外使用。 (三)不得截留、擠占、挪用專項資金,不得虛報、冒領專項經費。 (四)加強預算外資金及專項資金的內部審計和監督檢查。 六、現金管理 (一)出納會計必須執行《現金管理暫行條例》和支票管理制度。現金日記賬必須日清月結,賬款相符,并隨時掌握銀行存款數據,不得出現透支。單位的印章和支票應分開管理,非出納人員不得管理現金和票據。 (二)因公購物、出差借用現金和支票,必須經主管領導批準,由財務部門審核后,方可借用。未經批準,任何人不得向外借用公款。 (三)現金收入要及時送存銀行,不得坐支現金、公款私存、或以任何名義套取現金及違規轉移現金,不得白條抵庫和私設小金庫。 (四)現金和支付必須按照現金管理的有關規定,嚴格執行有關報銷的各種規章制度和開支標準,根據合法的現金支付憑證辦理,凡不符合規定的不予辦理。收入現金須向交款人開出加蓋公章的符合財政部門規定的正式收據,并切實加強收據管理。 (五)出納人員對現金要做到日清月結,賬賬、賬證、賬款相符。 (六)完善防盜設施,防止發生盜竊行為。 七、固定資產管理 (一)建立固定資產使用管理制度,明確專人負責。因工作需要由個人使用的,由使用人辦理登記手續并負責保管。使用人崗位變動時,應及時上繳單位。相對固定專人使用的,特別是交通工具,在非搪行公務期間或執行公務時嚴重違章而造成的損失,一律由個人負責。單位固定資產(指房屋)出租、經營收入,必須納入財務的正常管理,不得隱匿、私分。 (二)固定資產必須登記造冊、建賬設卡,做到賬物相符。每年應組織一次清理盤點。如發生減損,要查明原因。屬于過失造成的,應由當事人承擔盡必要的經濟責任。 (三)固定資產因超過使用年限,且各項技術指標不符合使用要求的,由單位清理造冊,經有關部鑒定后,報財務部門審核,經單位主管領導審批后,方可辦理報廢手續。各種財產的變價收入須納入賬內核算。 八、財務人員管理 (一)建立健全內部會計監督制度。會計不得兼任出納,會計、出納等從事財務工作的人員應取得財政部門頒發的從業資格證。 (二)加強財務會員教育管理,依法履行職責,堅持原則,嚴防發生職務犯罪。 (三)會計人員調離工作崗位,要嚴格辦理交接手續。單位財務負責人調離,主管單位應派人會同監交。 九、財務監督及內部審計 (一)局計劃財務科要認真履行財務監督職責,做好預算和決算的審查監督工作,定期檢查局屬事業單位預算的執行情況,督促各單位認真執行《會計法》、《事業單位財務規則》等有關財務會計制度。對各單位存在的財務問題提出處理意見并監督執行。積極配合有關部門做好審計、財務檢查工作。 (二)實行內部審計制度。局計劃財務科要充分發揮內部審計監督職能,根據工作安排,對局屬各單位的經濟活動、財務收支、專項資金進行內部審計監督。對局屬各單位主要負責人的變更進行離任經濟責任審計。重要審計情況向局長辦公會報告。 十、凡違反本規定的,按有關規定和程序追究責任人的責作,并給予黨紀政紀處分。構成犯罪的移交司法機關依法查處。 十一、局屬企業單位、企業化管理的事業單位執行相應的企業財務規則。 銷售系統的財務管理 一、客戶資料建立 1. 客戶基本資料建文件: 業務人員應搜集所有經銷商基本資料填立“客戶基本資料表”,審核后歸 檔。 2. 客戶動態資料記錄:應注意及時更新。 3.財務應注意通過各種渠道掌握客戶財務狀況。 二、客戶授信 1.目的:確保公司債權、貨款的安全性,避免呆帳。 2.信用管理部門(專門機構或營銷、財務組成臨時小組)應就客戶資料表進 行征信調查和信用額度、信用期限的評估; 3.信用管理應同時包含信用額度和信用期限兩項內容,超出任一項,均視為 超信用。 4.凡提供信用必存在風險,必要時需客戶提供抵押擔保或訂金。 5.營銷部門應隨時關注客戶情況, 深入了解客戶的業績消長、存貨狀況、資 產變化、獲利狀況及經營者變動等運營情況及業界評價,如發覺客戶呈現或有異常時,及時采取必要措施,以確保貨款安全。 6.財務部門應每月提供有關客戶銷售、欠款、存貨等變動報表,并對報表數 據進行深入分析,提供財務意見。 7.信用管理部門應每年/半年, 會同業務、財會等相關單位共同就現有客戶的收款狀況、信用額度及公司授信政策予以檢討、修訂。 三、超信用處理 1.業務出貨時,應開立“出貨單”,轉信用管理部門審查簽章后才可轉倉庫 出貨。若有超過信用額度情形者,應填制“超信用通知單”; 2.為達有效監控,一般由商務軟件系統管理出貨流程,超出核定額度或期限,系統自動不能出貨。 3.超信用由權責人員授權,可依下列方式予以處理: A.增加信用額度:依據有關授信作業規定,申請增加客戶信用再行出貨。 B.超信用先行出貨:必須有相當權限人員授權,作例外處理。 C.先辦款再出貨:客戶先行支付(或多于)本次出貨金額后再行出貨。 D.暫緩出貨:不能依上述情況處理者。 4.超信用的計算公式如下,二者之一者為超信用: A.超信用額度=核定之信用額度-應收票據-應收帳款-待出貨額 B.有逾期欠款(即按帳期應收未收) 四、價格體系 1.統一價格體系:出廠價、二批供貨價、經銷商終端供貨價、終端建議零售 價。 2.大型/全國性商超由公司統一掌控,價格可單獨制定。 3.客戶歸口對位,嚴格執行四級價格,例外處理必須適當授權審批。 五、出貨審核 1.業務銷貨須開立“出貨單”,經財務核對數量、售價,收款條件及信用 管理部門信用審核,倉庫才可出貨。 2.據公司規定的客戶級別和價格體系進行價格審核,若售價低于底限,必須有相當權限人員授權,作例外處理。 3.倉儲人員辦理發貨時,應就下列規定予以審核: A.業務單位的經辦人員、主管是否簽章。 B.財務人員或信用管理人員是否簽章。 六、往來帳管理 1.財務根據出貨單開具發票,據以登帳或定期匯總登帳。 2.收到客戶貨款,及時填報“收款日報表”并據以進行應收帳款沖銷處理。 3.分公司所有銷貨收到款項,一律存入“收款專戶”,不得存入其它戶頭。 4.財務應定期出具“客戶對帳函”,與客戶進行函證對帳,確保應收款項的及時準確,避免呆壞帳發生。 5.針對將到期款項,以財務名義出具“結款通知單”,體現正規性和權威性。 6.針對到期未結款項,財務可出具措辭較強烈的“催款通知單”,以加強催 7.對逾期欠款所采取措施及跟蹤反饋情況,填寫“逾期欠款跟蹤反饋單”,以加大責任、加強回收力度。財務注意資料的整理歸檔。 8.財務每周出具“客戶欠款余額表”,到具體明細,著重突出逾期欠款部分; 應用商務軟件系統,可即時生成該數據,是往來帳管理的有力工具。 9.財務每月末作“客戶銷售回款/欠款余額分析”,著重與銷售對比的應收 帳款周轉天數的分析比較。 10.財務每季度作“應收帳款帳齡分析”,密切關注逾期時間長的欠款,采取 各種可能措施加緊回收。確屬呆壞帳應充分提列壞帳準備金。 11.善用銀行承兌匯票和其他創新金融工具,以降低風險、加快回收。 七、銷貨退回、折讓與折扣 1.銷貨退回時,業務部門必須填報“退庫單”,經權責主管核準,由倉庫點 數及質量簽收后,轉會計入帳。 2.銷貨折扣或折讓時,業務部門必須填報“銷售折扣/折讓單”,經權責主管 核準,財務據以入帳。 3.有關稅務規定:有銷貨退回或折讓證明單的,可從當期的銷項稅額中扣減; 如果銷售額和折扣額同在一張發票上分別注明的,可按折扣后的銷售額征收增值稅;如果將折扣額另開發票,不得從銷售額中減除折扣額。 4.銷售折扣財務處理: 4.1.開發票時確定折扣額,則應銷售額和折扣額同在一張發票上分別注明:既可規避增值稅又可實現銷售收入/銷售折扣財務反映的充分真實; 4.2.已開發票后確定折扣額,抵減下批銷售價格:可規避增值稅,但財務反映不真實。 八、返利返點的財務處理 1.視同折扣處理,在同一張發票上分別注明:既可規避增值稅又可實現銷售 收入/銷售折扣財務反映的充分真實; 2.抵減下批銷售價格:可規避增值稅,但財務反映不真實; 3.原作銷售退回,按新價格重開發票:相應稅務手續麻煩,財務反映不真實; 4.經銷商開營收發票,據以入帳:不能規避增值稅且客戶負擔營業稅,增加 5.經銷商轉廣告費等實際費用發票:客戶無營業稅,但不能規避增值稅,財 務只能被動入帳,反映不盡真實。 九、銷售費管理 1.收支兩條線原則:不得坐支銷售款。 2.強調預算計劃: 2.1.預算是銷售費用管理的基礎,把握總體、抓大放小是制訂預算的原則; 2.2.既定的或行業公認的“費用/銷售額目標”比是預算制定的總體指標,是控制市場投入的重要衡量標準。 2.3.注重成本效益原則,管控大項費用,降低監管成本。 3.嚴控預算外支出:必須經適當授權審批程序,方可支出預算外費用。 4.特殊費用單獨審批:突發性或現金紅包、禮金、娛樂等特殊費用要填列“特 殊費用申請表”,單獨審批,堵塞漏洞。 5.注重費用效果分析:盡可能量化費用投入效果,分析費用增量與銷售增量的比率,評估費用投入實質作用,避免不合理或低效開支。 6.按月提供“費用預算與實際開支表”,加強動態趨勢分析和預算執行分析,加強監督作用。 十、財務分析 1.每月進行產品總體的收入、成本和毛利率分析; 2.每月按產品分析銷售月度間的變動趨勢及與計劃完成情況; 3.切實關注并分析大經銷商的實際銷售及庫存狀況,著重“業績”而非“提 貨”; 4.定期(季度)進行庫存結構分析,以及時采取有效措施加快周轉,避免損 失; 5.每月進行客戶銷售回款分析; 6.定期(季度)進行應收帳款帳齡分析; 7.每月對銷售費用增減變動及預算執行情況進行分析; 8.每月對市場推廣等大項費用的開支明細進行比較分析; 9.建立費用投入效果評估體制,針對大項推廣活動進行投入/產出的效果分 析。 十一、創新結算方式 1.網上銀行:及時匯劃、查詢功能,適合集團總公司、分公司、經銷商、供應商資金結算和管理。通過Internet,安全認證較嚴密,目前比較多的公司采用。 2.現代企業銀行系統:適用企業集團,同城內局域網專線連接,可與企 業財務軟件系統對接。 3.企業電子匯兌:拋掉手工匯款單,企業報送電子盤(加密),可直接與 銀行電子聯行系統連接。 4.國內信用證(中行):是開證行依照申請人的申請開出的,憑符合信用 條款的單據支付的付款承諾,適合商貿背景的國內企業間貿易結算使用。國內信用證的是由銀行提供擔保的國內企業之間商品交易的結算工具。 5.一路通貸款業務:由企業作擔保/保證,由向各地經銷商提供貸款。operate
1){for(int k=0;k
第三篇:完善財務管理系統
第四篇:宜賓市系統財務管理規定
第五篇:銷售系統的財務管理