diff --git a/static/src/js/previ_tresorerie.js b/static/src/js/previ_tresorerie.js
new file mode 100644
index 0000000000000000000000000000000000000000..22a619afc4a671daa8e9cd80ad7320342f0db442
--- /dev/null
+++ b/static/src/js/previ_tresorerie.js
@@ -0,0 +1,178 @@
+odoo.define('lefilament_tdb.previ_tresorerie', function (require) {
+	"use strict";
+
+	var core = require('web.core');
+	var formats = require('web.formats');
+	var Model = require('web.Model');
+	var session = require('web.session');
+	var Widget = require('web.Widget');
+
+	var QWeb = core.qweb;
+
+	var _t = core._t;
+	var _lt = core._lt;
+
+	var TresorerieView = Widget.extend({
+	    template: 'Tresorerie',
+
+	    init: function() {
+	      var result = this._super.apply(this, arguments);
+	      return result;
+	    },
+
+	    willStart: function() {
+	        var deferred = new jQuery.Deferred();
+	        var self = this;
+	        this.values = {};
+	        
+	        var dash_model = new Model('lefilament.dashboard');
+	        dash_model.call('previ_tresorerie')
+                .then(function(results) {
+                    self.values = results;
+                    deferred.resolve();
+                });
+	          return jQuery.when(this._super.apply(this, arguments),deferred);
+	    },
+
+	    start: function() {
+	    	console.log(this.values);
+	    	return this.render_chart();
+	    },
+
+	    render_chart: function(chart) {
+	    	self = this;
+
+			/////////////////////////////////////////
+            //      Trésorerie  -> Bar Chart       //
+            /////////////////////////////////////////
+            this.ctx = this.$el.find('#tresorerie')[0].getContext('2d');
+
+            var labels = [];
+            var data_months = [];
+            var data_year = [];
+            var month = moment().month();
+            for (var i = -5; i < 7; i++) {
+            	labels.push(moment().month(month + i).format("MMM YYYY"));
+            	data_months.push(moment().month(month + i).format("MM"));
+            	data_year.push(moment().month(month + i).format("YYYY-MM"));
+            }
+            var treso_r = this.reverse_array(this.values.tresorerie);
+
+            var treso = [];
+            var cca = [];
+            var fonds_propres = [];
+            
+            var charges_an = 0;
+            var charges_fixes_an = [];
+            var charges_fixes = [];
+            
+            var client = 0;
+            var f_client = [];
+            var fournisseur = 0;
+            var f_fournisseur = [];
+
+            var previsionnel = [];
+            
+
+            for (var i = 0; i < 12 ; i++) {
+            	// CCA + Fonds Propres
+            	cca.push(this.values.fonds_propres.cca);
+            	fonds_propres.push(this.values.fonds_propres.cca+this.values.fonds_propres.capital);
+            	
+            	// Trésorerie
+            	if (treso_r[i]) { treso.push(treso_r[i].treso); }
+
+            	// Calcul des factures
+            	_.each( this.values.factures, function(value, key) {
+	            	if (value.mois == data_year[i] ) {
+	           			client = value.f_client; 
+	           			fournisseur = value.f_fournisseur;         		
+	            	}
+	            });
+            	if ( client > 0 ) { f_client.push(client); client = 0; } else { f_client.push(0); }
+            	if ( fournisseur > 0 ) { f_fournisseur.push(fournisseur); fournisseur = 0; } else { f_fournisseur.push(0); }
+            	
+            	// Calcul des fixes annuelles
+            	_.each( this.values.charges_fixes, function(value, key) {
+	            	if (value.mois == data_year[i] ) {
+	           			charges_an = value.sum;         		
+	            	}
+	            });
+            	if ( charges_an > 0 ) { charges_fixes_an.push(charges_an); charges_an = 0; } else { charges_fixes_an.push(0); }
+
+            	// Calcul charges fixes
+            	if ( i < 5 ) { charges_fixes.push(null); }
+            	else if ( i == 5 ) { charges_fixes.push(treso_r[5].treso); }
+            	else {
+            		if (['01', '04', '07', '10'].indexOf(data_months[i]) >= 0) {
+            			charges_fixes.push( charges_fixes[i-1] + this.values.charges_periode[0].sum + this.values.charges_periode[1].sum );
+            		} else {
+            			charges_fixes.push( charges_fixes[i-1] + this.values.charges_periode[1].sum );
+            		}
+            	}
+            	
+            }
+
+            for (var i = 0; i < 12 ; i++) {
+            	if (i > 4 ) {
+            		previsionnel.push(charges_fixes[i]+f_client[i]-f_fournisseur[i]-charges_fixes_an[i]);
+            	} else { 
+            		previsionnel.push(null); 
+            	}
+            }
+            
+   			var datasets = [
+   				{ label: 'Trésorerie', data: treso, backgroundColor: 'transparent',borderColor: '#5E8ED5', },
+   				{ label: 'Prévisionnel', data: previsionnel, backgroundColor: 'transparent',borderColor: '#FFC562', },
+   				{ label: 'Client', data: f_client, backgroundColor: 'transparent',borderColor: '#51d2b7', borderWidth: 1.5, radius: 1, },
+   				{ label: 'Fournisseur', data: f_fournisseur, backgroundColor: 'transparent',borderColor: '#F96075', borderWidth: 1.5, radius: 1, },
+   				{ label: 'CCA', data: cca, backgroundColor: 'transparent',borderColor: '#FFA063', borderWidth: 1.5, radius: 0, },
+   				{ label: 'Fonds Propres', data: fonds_propres, backgroundColor: 'transparent',borderColor: '#FCA7B3', borderWidth: 1.5, radius: 0, },
+		        ];
+
+		    var options = {
+			        scales: {
+			            yAxes: [{
+			                ticks: {
+			                    beginAtZero:true,
+			                }
+			            }]
+			        },
+			        tooltips: {
+		        	backgroundColor: 'rgba(255,255,255,0.8)',
+		        	titleFontStyle: 'normal',
+		        	titleFontColor: '#999',
+		        	bodyFontColor: '#777',
+		        	callbacks: {
+	                    label: function(tooltipItems, data) { 
+	                        return ' ' + (tooltipItems.yLabel / 1000).toLocaleString('fr', { maximumFractionDigits: 1 }) + ' k€';
+	                    }
+	                }
+		        },
+		        responsive: true,
+			    }
+
+		    this.targetData = {
+	            labels : labels,
+	            datasets : datasets
+	        };
+
+            var myChart = new Chart(this.ctx, { type: 'line', data: this.targetData, options: options } );
+
+	    },
+	    reverse_array: function(array) {
+	    	var tabLength = array.length - 1;
+	    	var new_array = [];
+	    	for (var i = tabLength; i > -1; i--) {
+	    		new_array.push(array[i]);
+	    	}
+	    	return new_array;
+	    },
+
+	});
+
+	core.action_registry.add('lefilament_tdb.previ_tresorerie', TresorerieView);
+
+
+});
+