elmas 2.4.2 → 2.5.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.rubocop.yml +9 -0
- data/Gemfile +3 -1
- data/Guardfile +6 -4
- data/README.md +15 -4
- data/Rakefile +3 -1
- data/elmas.gemspec +17 -15
- data/lib/elmas.rb +11 -2
- data/lib/elmas/api.rb +2 -0
- data/lib/elmas/client.rb +2 -0
- data/lib/elmas/config.rb +28 -21
- data/lib/elmas/exception.rb +2 -0
- data/lib/elmas/oauth.rb +40 -4
- data/lib/elmas/parser.rb +2 -0
- data/lib/elmas/request.rb +2 -0
- data/lib/elmas/resource.rb +7 -5
- data/lib/elmas/resources/account.rb +27 -24
- data/lib/elmas/resources/aging_receivables_list.rb +8 -6
- data/lib/elmas/resources/bank_account.rb +13 -19
- data/lib/elmas/resources/bank_entry.rb +6 -4
- data/lib/elmas/resources/bank_entry_line.rb +6 -4
- data/lib/elmas/resources/base_entry_line.rb +10 -6
- data/lib/elmas/resources/cash_entry.rb +22 -0
- data/lib/elmas/resources/cash_entry_line.rb +20 -0
- data/lib/elmas/resources/contact.rb +10 -8
- data/lib/elmas/resources/costcenter.rb +4 -2
- data/lib/elmas/resources/costunit.rb +4 -2
- data/lib/elmas/resources/division.rb +26 -0
- data/lib/elmas/resources/document.rb +7 -5
- data/lib/elmas/resources/document_attachment.rb +3 -1
- data/lib/elmas/resources/general_journal_entry.rb +4 -2
- data/lib/elmas/resources/general_journal_entry_line.rb +2 -0
- data/lib/elmas/resources/gl_account.rb +11 -9
- data/lib/elmas/resources/item.rb +21 -18
- data/lib/elmas/resources/item_group.rb +4 -2
- data/lib/elmas/resources/journal.rb +6 -4
- data/lib/elmas/resources/layout.rb +6 -4
- data/lib/elmas/resources/mailbox.rb +6 -4
- data/lib/elmas/resources/payment_condition.rb +9 -7
- data/lib/elmas/resources/printed_sales_invoice.rb +12 -10
- data/lib/elmas/resources/project.rb +11 -19
- data/lib/elmas/resources/purchase_entry.rb +5 -6
- data/lib/elmas/resources/purchase_entry_line.rb +2 -0
- data/lib/elmas/resources/receivables_list.rb +4 -5
- data/lib/elmas/resources/sales_entry.rb +5 -7
- data/lib/elmas/resources/sales_entry_line.rb +2 -0
- data/lib/elmas/resources/sales_invoice.rb +4 -5
- data/lib/elmas/resources/sales_invoice_line.rb +4 -5
- data/lib/elmas/resources/sales_item_prices.rb +4 -5
- data/lib/elmas/resources/sales_order.rb +4 -5
- data/lib/elmas/resources/sales_order_line.rb +4 -5
- data/lib/elmas/resources/shared_sales_attributes.rb +6 -11
- data/lib/elmas/resources/time_transaction.rb +8 -12
- data/lib/elmas/resources/transaction.rb +4 -2
- data/lib/elmas/resources/transaction_line.rb +4 -2
- data/lib/elmas/resources/vat_code.rb +5 -8
- data/lib/elmas/response.rb +5 -2
- data/lib/elmas/result_set.rb +4 -2
- data/lib/elmas/sanitizer.rb +7 -5
- data/lib/elmas/uri.rb +2 -0
- data/lib/elmas/utils.rb +2 -0
- data/lib/elmas/version.rb +4 -2
- metadata +29 -27
- data/lib/elmas/log.rb +0 -19
@@ -1,3 +1,5 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
1
3
|
module Elmas
|
2
4
|
class Account
|
3
5
|
# An account needs a name
|
@@ -8,32 +10,33 @@ module Elmas
|
|
8
10
|
end
|
9
11
|
|
10
12
|
def mandatory_attributes
|
11
|
-
[
|
13
|
+
%i[name]
|
12
14
|
end
|
13
15
|
|
14
|
-
# https
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
16
|
+
# https//start.exactonline.nl/docs/HlpRestAPIResourcesDetails.aspx?name=CRMAccounts
|
17
|
+
# rubocop:disable Metrics/MethodLength
|
18
|
+
def other_attributes
|
19
|
+
%i[
|
20
|
+
accountant account_manager activity_sector
|
21
|
+
activity_sub_sector address_line1 address_line2
|
22
|
+
address_line3 blocked business_type can_drop_ship
|
23
|
+
chamber_of_commerce city code code_at_supplier
|
24
|
+
company_size consolidation_scenario controlled_date
|
25
|
+
cost_paid country credit_line_purchase credit_line_sales
|
26
|
+
discount_purchase discount_sales email end_date fax
|
27
|
+
intra_stat_area intra_stat_delivery_term intra_stat_system
|
28
|
+
intra_stat_transaction_a intra_stat_transaction_b
|
29
|
+
intra_stat_transport_method invoice_acount invoice_attachment_type
|
30
|
+
invoicing_method is_accountant is_agency is_competitor is_mailing
|
31
|
+
is_pilot is_reseller is_sales is_supplier language latitude
|
32
|
+
lead_source logo logo_file_name longitude main_contact
|
33
|
+
payment_condition_purchase payment_condition_sales phone
|
34
|
+
phone_extension postcode price_list purchase_currency
|
35
|
+
purchase_lead_days purchase_VAT_code recipient_of_commissions
|
36
|
+
remarks reseller sales_currency sales_tax_schedule sales_VAT_code
|
37
|
+
search_code security_level seperate_inv_per_project seperate_inv_per_subscription
|
38
|
+
shipping_lead_days shipping_method start_date state status
|
39
|
+
VAT_liability VAT_number website
|
37
40
|
]
|
38
41
|
end
|
39
42
|
end
|
@@ -1,3 +1,5 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
1
3
|
module Elmas
|
2
4
|
# We can use the AgingReceivablesList to change the status of SalesInvoices from
|
3
5
|
# Open to 'Verwerkt' while at the same time sending a PDF of the invoice to the
|
@@ -9,7 +11,7 @@ module Elmas
|
|
9
11
|
include Elmas::Resource
|
10
12
|
|
11
13
|
def valid_actions
|
12
|
-
[
|
14
|
+
%i[get]
|
13
15
|
end
|
14
16
|
|
15
17
|
def base_path
|
@@ -20,12 +22,12 @@ module Elmas
|
|
20
22
|
[]
|
21
23
|
end
|
22
24
|
|
23
|
-
# https
|
25
|
+
# https//start.exactonline.nl/docs/HlpRestAPIResourcesDetails.aspx?name=SalesInvoiceAgingReceivablesLists
|
24
26
|
def other_attributes
|
25
|
-
[
|
26
|
-
|
27
|
-
|
28
|
-
|
27
|
+
%i[
|
28
|
+
account_id account_code account_name age_group1 age_group1_amount age_group1_description
|
29
|
+
age_group2 age_group2_amount age_group2_description age_group3 age_group3_amount age_group3_description
|
30
|
+
age_group4 age_group4_amount age_group4_description currency_code total_amount
|
29
31
|
]
|
30
32
|
end
|
31
33
|
end
|
@@ -1,10 +1,12 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
1
3
|
module Elmas
|
2
4
|
class BankAccount
|
3
5
|
# An account needs a name
|
4
6
|
include Elmas::Resource
|
5
7
|
|
6
8
|
def valid_actions
|
7
|
-
[
|
9
|
+
%i[get]
|
8
10
|
end
|
9
11
|
|
10
12
|
def base_path
|
@@ -12,26 +14,18 @@ module Elmas
|
|
12
14
|
end
|
13
15
|
|
14
16
|
def mandatory_attributes
|
15
|
-
[
|
17
|
+
%i[account]
|
16
18
|
end
|
17
19
|
|
18
|
-
# https
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
:bank_name,
|
28
|
-
:BIC_code,
|
29
|
-
:description,
|
30
|
-
:division,
|
31
|
-
:format,
|
32
|
-
:IBAN,
|
33
|
-
:type,
|
34
|
-
:type_description
|
20
|
+
# https//start.exactonline.nl/docs/HlpRestAPIResourcesDetails.aspx?name=CRMAccounts
|
21
|
+
# rubocopdisable Metrics/MethodLength
|
22
|
+
def other_attributes
|
23
|
+
%i[
|
24
|
+
id account account_name bank
|
25
|
+
bank_account bank_description
|
26
|
+
bank_name BIC_code description
|
27
|
+
division format IBAN type
|
28
|
+
type_description
|
35
29
|
]
|
36
30
|
end
|
37
31
|
end
|
@@ -1,3 +1,5 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
1
3
|
module Elmas
|
2
4
|
class BankEntry
|
3
5
|
include Elmas::Resource
|
@@ -7,13 +9,13 @@ module Elmas
|
|
7
9
|
end
|
8
10
|
|
9
11
|
def mandatory_attributes
|
10
|
-
[
|
12
|
+
%i[journal_code bank_entry_lines]
|
11
13
|
end
|
12
14
|
|
13
15
|
def other_attributes
|
14
|
-
[
|
15
|
-
|
16
|
-
|
16
|
+
%i[
|
17
|
+
currency bank_statement_document closing_balance_FC entry_number
|
18
|
+
financial_period financial_year opening_balance_FC
|
17
19
|
]
|
18
20
|
end
|
19
21
|
end
|
@@ -1,3 +1,5 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
1
3
|
module Elmas
|
2
4
|
class BankEntryLine < Elmas::BaseEntryLine
|
3
5
|
# A sales entry line belongs to a sales entry
|
@@ -8,10 +10,10 @@ module Elmas
|
|
8
10
|
end
|
9
11
|
|
10
12
|
def other_attributes
|
11
|
-
[
|
12
|
-
|
13
|
-
|
14
|
-
|
13
|
+
%i[
|
14
|
+
account amount_VATFC asset cost_center cost_unit date
|
15
|
+
description notes document exchange_rate our_ref
|
16
|
+
project quantity VAT_code VAT_percentage VAT_type
|
15
17
|
]
|
16
18
|
end
|
17
19
|
end
|
@@ -1,15 +1,19 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
1
3
|
module Elmas
|
2
4
|
class BaseEntryLine
|
5
|
+
include Elmas::Resource
|
6
|
+
|
3
7
|
def mandatory_attributes
|
4
|
-
[
|
8
|
+
%i[amount_FC GL_account entry_ID]
|
5
9
|
end
|
6
10
|
|
7
11
|
def other_attributes
|
8
|
-
[
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
12
|
+
%i[
|
13
|
+
serial_number asset cost_center cost_unit description notes
|
14
|
+
project quantity serial_number subscription tracking_number
|
15
|
+
VAT_amount_FC VAT_base_amount_DC VAT_base_amount_FC VAT_code
|
16
|
+
VAT_percentage account
|
13
17
|
]
|
14
18
|
end
|
15
19
|
end
|
@@ -0,0 +1,22 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module Elmas
|
4
|
+
class CashEntry
|
5
|
+
include Elmas::Resource
|
6
|
+
|
7
|
+
def base_path
|
8
|
+
"financialtransaction/CashEntries"
|
9
|
+
end
|
10
|
+
|
11
|
+
def mandatory_attributes
|
12
|
+
%i[journal_code cash_entry_lines]
|
13
|
+
end
|
14
|
+
|
15
|
+
def other_attributes
|
16
|
+
%i[
|
17
|
+
currency closing_balance_FC entry_number
|
18
|
+
financial_period financial_year openening_balance_FC
|
19
|
+
]
|
20
|
+
end
|
21
|
+
end
|
22
|
+
end
|
@@ -0,0 +1,20 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module Elmas
|
4
|
+
class CashEntryLine < Elmas::BaseEntryLine
|
5
|
+
# A sales entry line belongs to a sales entry
|
6
|
+
include Elmas::Resource
|
7
|
+
|
8
|
+
def base_path
|
9
|
+
"financialtransaction/CashEntryLines"
|
10
|
+
end
|
11
|
+
|
12
|
+
def other_attributes
|
13
|
+
%i[
|
14
|
+
account amount_VATFC asset cost_center cost_unit date
|
15
|
+
description notes document exchange_rate our_ref
|
16
|
+
project quantity VAT_code VAT_percentage VAT_type
|
17
|
+
]
|
18
|
+
end
|
19
|
+
end
|
20
|
+
end
|
@@ -1,3 +1,5 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
1
3
|
module Elmas
|
2
4
|
class Contact
|
3
5
|
# A contact needs a First and Last name and a reference to an account
|
@@ -8,17 +10,17 @@ module Elmas
|
|
8
10
|
end
|
9
11
|
|
10
12
|
def mandatory_attributes
|
11
|
-
[
|
13
|
+
%i[first_name last_name account]
|
12
14
|
end
|
13
15
|
|
14
16
|
def other_attributes
|
15
|
-
[
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
17
|
+
%i[
|
18
|
+
account_name birt_date birth_name birth_name_prefix birth_place
|
19
|
+
business_email business_fax business_mobile business_phone business_phone_extention
|
20
|
+
email end_date first_name gender HID initials is_mailing_excluded
|
21
|
+
job_title_description language marketing_notes middle_name
|
22
|
+
mobile nationality notes person phone picture picture_name
|
23
|
+
social_security_number start_date title
|
22
24
|
]
|
23
25
|
end
|
24
26
|
end
|
@@ -1,3 +1,5 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
1
3
|
module Elmas
|
2
4
|
class Costcenter
|
3
5
|
include Elmas::Resource
|
@@ -7,11 +9,11 @@ module Elmas
|
|
7
9
|
end
|
8
10
|
|
9
11
|
def mandatory_attributes
|
10
|
-
[
|
12
|
+
%i[code description]
|
11
13
|
end
|
12
14
|
|
13
15
|
def other_attributes
|
14
|
-
[
|
16
|
+
%i[active]
|
15
17
|
end
|
16
18
|
end
|
17
19
|
end
|
@@ -1,3 +1,5 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
1
3
|
module Elmas
|
2
4
|
class Costunit
|
3
5
|
include Elmas::Resource
|
@@ -7,11 +9,11 @@ module Elmas
|
|
7
9
|
end
|
8
10
|
|
9
11
|
def mandatory_attributes
|
10
|
-
[
|
12
|
+
%i[code description]
|
11
13
|
end
|
12
14
|
|
13
15
|
def other_attributes
|
14
|
-
[
|
16
|
+
%i[account]
|
15
17
|
end
|
16
18
|
end
|
17
19
|
end
|
@@ -0,0 +1,26 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module Elmas
|
4
|
+
class Division
|
5
|
+
include Elmas::Resource
|
6
|
+
|
7
|
+
def base_path
|
8
|
+
"system/Divisions"
|
9
|
+
end
|
10
|
+
|
11
|
+
def mandatory_attributes
|
12
|
+
[]
|
13
|
+
end
|
14
|
+
|
15
|
+
# https//start.exactonline.nl/docs/HlpRestAPIResourcesDetails.aspx?name=SystemSystemDivisions
|
16
|
+
def other_attributes
|
17
|
+
%i[
|
18
|
+
code address_line1 address_line2 address_line3
|
19
|
+
chamber_of_commerce_number city country created currency
|
20
|
+
current customer customer_code customer_name description
|
21
|
+
email hid is_main_division modified phone postcode state
|
22
|
+
status VAT_number
|
23
|
+
]
|
24
|
+
end
|
25
|
+
end
|
26
|
+
end
|
@@ -1,3 +1,5 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
1
3
|
module Elmas
|
2
4
|
class Document
|
3
5
|
include Elmas::Resource
|
@@ -7,14 +9,14 @@ module Elmas
|
|
7
9
|
end
|
8
10
|
|
9
11
|
def mandatory_attributes
|
10
|
-
[
|
12
|
+
%i[subject type]
|
11
13
|
end
|
12
14
|
|
13
15
|
def other_attributes
|
14
|
-
[
|
15
|
-
|
16
|
-
|
17
|
-
|
16
|
+
%i[
|
17
|
+
account amount_FC body category category_description creator_full_name
|
18
|
+
currency document_date document_folder financial_transaction_entry_ID
|
19
|
+
HID language opportunity sales_invoice_number shop_order_number
|
18
20
|
]
|
19
21
|
end
|
20
22
|
end
|
@@ -1,3 +1,5 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
1
3
|
module Elmas
|
2
4
|
class DocumentAttachment
|
3
5
|
include Elmas::Resource
|
@@ -7,7 +9,7 @@ module Elmas
|
|
7
9
|
end
|
8
10
|
|
9
11
|
def mandatory_attributes
|
10
|
-
[
|
12
|
+
%i[attachment document file_name]
|
11
13
|
end
|
12
14
|
|
13
15
|
def other_attributes
|
@@ -1,3 +1,5 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
1
3
|
module Elmas
|
2
4
|
class GeneralJournalEntry
|
3
5
|
include Elmas::Resource
|
@@ -7,11 +9,11 @@ module Elmas
|
|
7
9
|
end
|
8
10
|
|
9
11
|
def mandatory_attributes
|
10
|
-
[
|
12
|
+
%i[journal_code general_journal_entry_lines]
|
11
13
|
end
|
12
14
|
|
13
15
|
def other_attributes
|
14
|
-
[
|
16
|
+
%i[financial_period financial_year currency exchange_rate reversal]
|
15
17
|
end
|
16
18
|
end
|
17
19
|
end
|
@@ -1,3 +1,5 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
1
3
|
module Elmas
|
2
4
|
class GLAccount
|
3
5
|
include Elmas::Resource
|
@@ -7,18 +9,18 @@ module Elmas
|
|
7
9
|
end
|
8
10
|
|
9
11
|
def mandatory_attributes
|
10
|
-
[
|
12
|
+
%i[code description]
|
11
13
|
end
|
12
14
|
|
13
15
|
def other_attributes
|
14
|
-
[
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
16
|
+
%i[
|
17
|
+
assimilated_VAT_box balance_side balance_type belcotax_type compress
|
18
|
+
cost_center cost_unit exclude_VAT_listing expense_non_deductible_percentage
|
19
|
+
is_blocked matching private_GL_account private_percentage reporting_code
|
20
|
+
revalue_currency searc_code type use_cost_center use_cost_unit
|
21
|
+
VAT_code VAT_GL_account_type VAT_non_deductible_GL_account
|
22
|
+
VAT_non_deductible_percentage VAT_system year_end_cost_GL_account
|
23
|
+
year_end_reflection_GL_account
|
22
24
|
]
|
23
25
|
end
|
24
26
|
end
|