diff --git a/app/controllers/admin/settings_controller.rb b/app/controllers/admin/settings_controller.rb
index 12d465b..994fabd 100644
--- a/app/controllers/admin/settings_controller.rb
+++ b/app/controllers/admin/settings_controller.rb
@@ -1,62 +1,62 @@
 class Admin::SettingsController < Admin::BaseController
   before_action :fetch_configuration_settings, only: [:edit, :update, :reset]
 
   # GET /admin/settings
   def index
     @settings = ConfigurationSetting.last || ConfigurationSetting.new
   end
 
   # GET /admin/settings/new
   def new
     @setting = ConfigurationSetting.new
   end
 
   # GET /admin/settings/1/edit
   def edit
   end
 
   # POST /admin/settings
   def create
     @setting = ConfigurationSetting.new(fetch_params)
     if @setting.save
       flash[:success] = 'Configuration Submitted'
       redirect_to admin_settings_path
     else
       flash[:error] = 'Configuration was not submitted'
       render :new
     end
   end
 
   # PATCH /admin/settings/1/update
   def update
     if fetch_params.present? && @setting.update_attributes(fetch_params)
       flash[:success] = 'Configuration Submitted'
       redirect_to admin_settings_path
     else
       flash[:error] = 'Configuration was not submitted'
       render :edit
     end
   end
 
   # DELETE /admin/settings/1/reset
   def reset
     @setting.destroy
     redirect_to admin_settings_path
   end
 
   private
 
   def fetch_configuration_settings
     @setting = ConfigurationSetting.find(params[:id])
   end
 
   def fetch_params
     params.require(:configuration_setting).
       permit(
         job: [:storage, :pool, :messages, :priority, :'Write Bootstrap'],
         client: [:catalog, :file_retention, :file_retention_period_type, :job_retention,
-                 :job_retention_period_type, :autoprune],
+                 :job_retention_period_type, :autoprune, :quota],
         pool: [:full, :differential, :incremental]
       )
   end
 end
diff --git a/app/models/configuration_setting.rb b/app/models/configuration_setting.rb
index 9b7aebe..2554fa6 100644
--- a/app/models/configuration_setting.rb
+++ b/app/models/configuration_setting.rb
@@ -1,111 +1,112 @@
 # ConfigurationSetting class describes a model that keeps the current Bacula
 # configuration.
 #
 # It has some hard coded settings as defaults.
 # Archiving's admins can enter new settings concerning:
 #
 # * jobs
 # * clients
 #
 # and override the default ones.
 #
 # ConfigurationSetting is supposed to have only one record in persisted in the database
 # which will hold the altered configuration as a patch to the defaults.
 # Admins can reset this change at any time.
 class ConfigurationSetting < ActiveRecord::Base
   establish_connection ARCHIVING_CONF
 
   serialize :job, JSON
   serialize :client, JSON
   serialize :pool, JSON
 
   JOB = {
     storage: :File,
     pool: Archiving.settings[:default_pool],
     messages: :Standard,
     priority: 10,
     :'Write Bootstrap' => '"/var/lib/bacula/%c.bsr"'
   }
 
   CLIENT = {
     catalog: 'MyCatalog',
     file_retention: 60,
     file_retention_period_type: 'days',
     job_retention: 180,
     job_retention_period_type: 'days',
-    autoprune: 'yes'
+    autoprune: 'yes',
+    quota: Archiving.settings[:client_quota]
   }
 
   POOL = {
     full: Archiving.settings[:default_pool],
     differential: Archiving.settings[:default_pool],
     incremental: Archiving.settings[:default_pool]
   }
 
 
   RETENTION_PERIODS = %w{seconds minutes hours days weeks months quarters years}
   AUTOPRUNE_OPTIONS = ['yes', 'no']
 
   # Fetches the current configuration for jobs.
   #
   # The current configuration is the last submitted record, patched to the default
   # settings.
   # If there is no record, the default settings are returned
   #
   # @return [Hash] with settings
   def self.current_job_settings
     (last || new).job.symbolize_keys.reverse_merge(JOB.dup)
   end
 
   # Fetches the current configuration for clients.
   #
   # The current configuration is the last submitted record, patched to the default
   # settings.
   # If there is no record, the default settings are returned
   #
   # @return [Hash] with settings
   def self.current_client_settings
     (last || new).client.symbolize_keys.reverse_merge(CLIENT.dup)
   end
 
   # Fetches the current configuration for pools.
   #
   # The current configuration is the last submitted record, patched to the default
   # settings.
   # If there is no record, the default settings are returned
   #
   # @return [Hash] with settings
   def self.current_pool_settings
     (last || new).pool.symbolize_keys.reverse_merge(POOL.dup)
   end
 
   # Fetches the record's configuration for jobs.
   #
   # The configuration is the record's configuration patched to the default
   # settings.
   #
   # @return [Hash] with settings
   def current_job_settings
     job.symbolize_keys.reverse_merge(JOB.dup)
   end
 
   # Fetches the record's configuration for clients.
   #
   # The configuration is the record's configuration patched to the default
   # settings.
   #
   # @return [Hash] with settings
   def current_client_settings
     client.symbolize_keys.reverse_merge(CLIENT.dup)
   end
 
   # Fetches the record's configuration for pools.
   #
   # The configuration is the record's configuration patched to the default
   # settings.
   #
   # @return [Hash] with settings
   def current_pool_settings
     pool.symbolize_keys.reverse_merge(POOL.dup)
   end
 end
diff --git a/app/views/admin/settings/_form.html.erb b/app/views/admin/settings/_form.html.erb
index f4c48fd..41bd71c 100644
--- a/app/views/admin/settings/_form.html.erb
+++ b/app/views/admin/settings/_form.html.erb
@@ -1,79 +1,81 @@
 <%= bootstrap_form_for(@setting, url: path, layout: :horizontal,
                        label_col: 'col-xs-5', control_col: 'col-xs-5') do |f| %>
   <div class="row">
     <div class="col-xs-4">
       <div class="panel panel-default">
         <div class="panel-heading">
             <h4>Client</h4>
         </div>
         <br />
         <%= f.fields_for :client do |c| %>
           <%= c.text_field :catalog, :value => @setting.current_client_settings[:catalog] %>
           <%= c.number_field :file_retention,
             :value => @setting.current_client_settings[:file_retention] %>
           <%= c.select :file_retention_period_type,
             options_for_select(ConfigurationSetting::RETENTION_PERIODS,
                                @setting.current_client_settings[:file_retention_period_type]) %>
           <%= c.number_field :job_retention,
             :value => @setting.current_client_settings[:job_retention] %>
           <%= c.select :job_retention_period_type,
             options_for_select(ConfigurationSetting::RETENTION_PERIODS,
                                @setting.current_client_settings[:job_retention_period_type]) %>
           <%= c.select :autoprune, ConfigurationSetting::AUTOPRUNE_OPTIONS,
             :value => @setting.current_client_settings[:autoprune] %>
+          <%= c.number_field :quota,
+            :value => @setting.current_client_settings[:quota] %>
         <% end %>
       </div>
     </div>
 
     <div class="col-xs-4">
       <div class="panel panel-default">
         <div class="panel-heading">
             <h4>Job</h4>
         </div>
 
         <br />
 
         <%= f.fields_for :job do |jb| %>
           <%= jb.select :storage,
             options_for_select(Storage.available_options, @setting.current_job_settings[:storage]) %>
           <%= jb.select :pool,
             options_for_select(Pool.available_options, @setting.current_job_settings[:pool]) %>
           <%= jb.text_field :messages, :value => @setting.current_job_settings[:messages] %>
           <%= jb.text_field :'Write Bootstrap',
             :value => @setting.current_job_settings[:'Write Bootstrap'] %>
           <%= jb.number_field :priority, :value => @setting.current_job_settings[:priority] %>
         <% end %>
       </div>
     </div>
 
     <div class="col-xs-4">
       <div class="panel panel-default">
         <div class="panel-heading">
             <h4>Pool</h4>
         </div>
         <br />
         <%= f.fields_for :pool do |p| %>
           <%= p.select :full,
             options_for_select(Pool.available_options, @setting.current_pool_settings[:full]) %>
           <%= p.select :differential,
             options_for_select(Pool.available_options,
                                @setting.current_pool_settings[:differential]) %>
           <%= p.select :incremental,
             options_for_select(Pool.available_options,
                                @setting.current_pool_settings[:incremental]) %>
         <% end %>
       </div>
     </div>
   </div>
 
   <div class="form-group">
     <div class="col-xs-1">
       <%= link_to 'Cancel', admin_settings_path %>
     </div>
     <div class="col-xs-2 col-xs-offset-1 text-right">
       <%= f.submit class: 'btn btn-success' %>
     </div>
   </div>
 
   </br>
 <% end %>
diff --git a/config/initializers/00_settings.rb b/config/initializers/00_settings.rb
index 4e779d5..f4cd308 100644
--- a/config/initializers/00_settings.rb
+++ b/config/initializers/00_settings.rb
@@ -1,16 +1,18 @@
 Archiving.settings director_name: YAML.load_file(Rails.root.join('config', 'bacula.yml'))[Rails.env].
   symbolize_keys[:director]
 Archiving.settings default_pool: YAML.load_file(Rails.root.join('config', 'bacula.yml'))[Rails.env].
   symbolize_keys[:pool]
 
 Archiving.settings vima_oauth_enabled: true
 Archiving.settings institutional_authentication_enabled: true
 Archiving.settings okeanos_authentication_enabled: false
 
 Archiving.settings default_sender: 'admin@archiving.grnet.gr'
 Archiving.settings admin_email: 'admin@archiving.grnet.gr'
 
 Archiving.settings temp_db_retention: 3.days
 
 Archiving.settings skip_host_fetch_time_period: 1.month
 Archiving.settings mail_settings: YAML::load(File.open("#{Rails.root}/config/mailer.yml"))[Rails.env].symbolize_keys
+
+Archiving.settings client_quota: 100.megabytes