elmas 2.4.2 → 2.5.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- 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
|