dear_inventory 0.4.1 → 0.5.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (42) hide show
  1. checksums.yaml +4 -4
  2. data/lib/dear_inventory.rb +18 -1
  3. data/lib/dear_inventory/model.rb +5 -1
  4. data/lib/dear_inventory/models/inventory_movement.rb +2 -2
  5. data/lib/dear_inventory/models/purchase.rb +151 -0
  6. data/lib/dear_inventory/models/purchases/additional_charge.rb +43 -0
  7. data/lib/dear_inventory/models/purchases/credit_note.rb +59 -0
  8. data/lib/dear_inventory/models/purchases/inventory_movement.rb +31 -0
  9. data/lib/dear_inventory/models/purchases/invoice.rb +69 -0
  10. data/lib/dear_inventory/models/purchases/invoice_additional_charge.rb +23 -0
  11. data/lib/dear_inventory/models/purchases/invoice_line.rb +19 -0
  12. data/lib/dear_inventory/models/purchases/line.rb +59 -0
  13. data/lib/dear_inventory/models/purchases/manual_journal.rb +24 -0
  14. data/lib/dear_inventory/models/purchases/manual_journal_line.rb +39 -0
  15. data/lib/dear_inventory/models/purchases/order.rb +50 -0
  16. data/lib/dear_inventory/models/purchases/stock.rb +24 -0
  17. data/lib/dear_inventory/models/purchases/stock_line.rb +63 -0
  18. data/lib/dear_inventory/models/purchases/unstock_line.rb +51 -0
  19. data/lib/dear_inventory/models/sale.rb +2 -2
  20. data/lib/dear_inventory/models/sale_list.rb +4 -4
  21. data/lib/dear_inventory/models/sales/additional_charge.rb +47 -0
  22. data/lib/dear_inventory/models/sales/credit_note.rb +6 -6
  23. data/lib/dear_inventory/models/sales/fulfilment.rb +1 -1
  24. data/lib/dear_inventory/models/sales/fulfilments/pick_pack_line.rb +1 -1
  25. data/lib/dear_inventory/models/sales/invoice.rb +7 -7
  26. data/lib/dear_inventory/models/sales/invoice_additional_charge.rb +19 -0
  27. data/lib/dear_inventory/models/sales/line.rb +6 -6
  28. data/lib/dear_inventory/models/sales/manual_journal_line.rb +2 -2
  29. data/lib/dear_inventory/models/sales/order.rb +4 -4
  30. data/lib/dear_inventory/models/sales/payment_line.rb +2 -2
  31. data/lib/dear_inventory/models/sales/quote.rb +4 -4
  32. data/lib/dear_inventory/models/transaction.rb +1 -1
  33. data/lib/dear_inventory/parameters/purchase/index.rb +25 -0
  34. data/lib/dear_inventory/parameters/purchase_list/index.rb +5 -5
  35. data/lib/dear_inventory/resources/purchase.rb +24 -0
  36. data/lib/dear_inventory/resources/purchase_list.rb +1 -1
  37. data/lib/dear_inventory/resources/sale.rb +1 -1
  38. data/lib/dear_inventory/resources/sale_list.rb +1 -1
  39. data/lib/dear_inventory/response.rb +7 -6
  40. data/lib/dear_inventory/version.rb +1 -1
  41. metadata +20 -3
  42. data/lib/dear_inventory/models/additional_charge.rb +0 -45
@@ -0,0 +1,23 @@
1
+ # typed: strong
2
+ # frozen_string_literal: true
3
+
4
+ module DearInventory
5
+ module Models
6
+ module Purchases
7
+ class InvoiceAdditionalCharge < AdditionalCharge
8
+ extend T::Sig
9
+
10
+ fields(
11
+ Reference: {
12
+ name: :reference,
13
+ type: :String,
14
+ },
15
+ Account: {
16
+ name: :account,
17
+ type: :String,
18
+ }
19
+ )
20
+ end
21
+ end
22
+ end
23
+ end
@@ -0,0 +1,19 @@
1
+ # typed: strong
2
+ # frozen_string_literal: true
3
+
4
+ module DearInventory
5
+ module Models
6
+ module Purchases
7
+ class InvoiceLine < Line
8
+ extend T::Sig
9
+
10
+ fields(
11
+ Account: {
12
+ name: :account,
13
+ type: :String,
14
+ }
15
+ )
16
+ end
17
+ end
18
+ end
19
+ end
@@ -0,0 +1,59 @@
1
+ # typed: strong
2
+ # frozen_string_literal: true
3
+
4
+ module DearInventory
5
+ module Models
6
+ module Purchases
7
+ class Line < DearInventory::Model
8
+ extend T::Sig
9
+
10
+ fields(
11
+ ProductID: {
12
+ name: :product_id,
13
+ type: :Guid,
14
+ },
15
+ SKU: {
16
+ name: :sku,
17
+ type: :String,
18
+ },
19
+ Name: {
20
+ name: :name,
21
+ type: :String,
22
+ },
23
+ Quantity: {
24
+ name: :quantity,
25
+ type: :BigDecimal,
26
+ },
27
+ Price: {
28
+ name: :price,
29
+ type: :BigDecimal,
30
+ },
31
+ Discount: {
32
+ name: :discount,
33
+ type: :BigDecimal,
34
+ },
35
+ Tax: {
36
+ name: :tax,
37
+ type: :BigDecimal,
38
+ },
39
+ TaxRule: {
40
+ name: :tax_rule,
41
+ type: :String,
42
+ },
43
+ SupplierSKU: {
44
+ name: :supplier_sku,
45
+ type: :String,
46
+ },
47
+ Comment: {
48
+ name: :comment,
49
+ type: :String,
50
+ },
51
+ Total: {
52
+ name: :total,
53
+ type: :BigDecimal,
54
+ }
55
+ )
56
+ end
57
+ end
58
+ end
59
+ end
@@ -0,0 +1,24 @@
1
+ # typed: strong
2
+ # frozen_string_literal: true
3
+
4
+ module DearInventory
5
+ module Models
6
+ module Purchases
7
+ class ManualJournal < DearInventory::Model
8
+ extend T::Sig
9
+
10
+ fields(
11
+ Status: {
12
+ name: :status,
13
+ type: :String,
14
+ },
15
+ Lines: {
16
+ name: :lines,
17
+ type: :Array,
18
+ model: DearInventory::Models::Purchases::ManualJournalLine,
19
+ }
20
+ )
21
+ end
22
+ end
23
+ end
24
+ end
@@ -0,0 +1,39 @@
1
+ # typed: strong
2
+ # frozen_string_literal: true
3
+
4
+ module DearInventory
5
+ module Models
6
+ module Purchases
7
+ class ManualJournalLine < DearInventory::Model
8
+ extend T::Sig
9
+
10
+ fields(
11
+ Reference: {
12
+ name: :reference,
13
+ type: :String,
14
+ },
15
+ Amount: {
16
+ name: :amount,
17
+ type: :BigDecimal,
18
+ },
19
+ Date: {
20
+ name: :date,
21
+ type: :Date,
22
+ },
23
+ Debit: {
24
+ name: :debit,
25
+ type: :String,
26
+ },
27
+ Credit: {
28
+ name: :credit,
29
+ type: :String,
30
+ },
31
+ IsSystem: {
32
+ name: :is_system,
33
+ type: :Boolean,
34
+ }
35
+ )
36
+ end
37
+ end
38
+ end
39
+ end
@@ -0,0 +1,50 @@
1
+ # typed: strong
2
+ # frozen_string_literal: true
3
+
4
+ module DearInventory
5
+ module Models
6
+ module Purchases
7
+ class Order < DearInventory::Model
8
+ extend T::Sig
9
+
10
+ fields(
11
+ Memo: {
12
+ name: :memo,
13
+ type: :String,
14
+ },
15
+ Status: {
16
+ name: :status,
17
+ type: :String,
18
+ },
19
+ Lines: {
20
+ name: :lines,
21
+ type: :Array,
22
+ model: DearInventory::Models::Purchases::Line,
23
+ },
24
+ AdditionalCharges: {
25
+ name: :additional_charges,
26
+ type: :Array,
27
+ model: DearInventory::Models::Purchases::AdditionalCharge,
28
+ },
29
+ Prepayments: {
30
+ name: :prepayments,
31
+ type: :Array,
32
+ model: DearInventory::Models::Sales::PaymentLine,
33
+ },
34
+ TotalBeforeTax: {
35
+ name: :total_before_tax,
36
+ type: :BigDecimal,
37
+ },
38
+ Tax: {
39
+ name: :tax,
40
+ type: :BigDecimal,
41
+ },
42
+ Total: {
43
+ name: :total,
44
+ type: :BigDecimal,
45
+ }
46
+ )
47
+ end
48
+ end
49
+ end
50
+ end
@@ -0,0 +1,24 @@
1
+ # typed: strong
2
+ # frozen_string_literal: true
3
+
4
+ module DearInventory
5
+ module Models
6
+ module Purchases
7
+ class Stock < DearInventory::Model
8
+ extend T::Sig
9
+
10
+ fields(
11
+ Status: {
12
+ name: :status,
13
+ type: :String,
14
+ },
15
+ Lines: {
16
+ name: :lines,
17
+ type: :Array,
18
+ model: DearInventory::Models::Purchases::StockLine,
19
+ }
20
+ )
21
+ end
22
+ end
23
+ end
24
+ end
@@ -0,0 +1,63 @@
1
+ # typed: strong
2
+ # frozen_string_literal: true
3
+
4
+ module DearInventory
5
+ module Models
6
+ module Purchases
7
+ class StockLine < DearInventory::Model
8
+ extend T::Sig
9
+
10
+ fields(
11
+ Date: {
12
+ name: :date,
13
+ type: :Date,
14
+ },
15
+ Quantity: {
16
+ name: :quantity,
17
+ type: :BigDecimal,
18
+ },
19
+ ProductID: {
20
+ name: :product_id,
21
+ type: :Guid,
22
+ },
23
+ SKU: {
24
+ name: :sku,
25
+ type: :String,
26
+ },
27
+ Name: {
28
+ name: :name,
29
+ type: :String,
30
+ },
31
+ Location: {
32
+ name: :location,
33
+ type: :String,
34
+ },
35
+ LocationID: {
36
+ name: :location_id,
37
+ type: :Guid,
38
+ },
39
+ Received: {
40
+ name: :received,
41
+ type: :Boolean,
42
+ },
43
+ BatchSN: {
44
+ name: :batch_sn,
45
+ type: :String,
46
+ },
47
+ SupplierSKU: {
48
+ name: :supplier_sku,
49
+ type: :String,
50
+ },
51
+ ExpiryDate: {
52
+ name: :expiry_date,
53
+ type: :Date,
54
+ },
55
+ CardID: {
56
+ name: :card_id,
57
+ type: :Guid,
58
+ }
59
+ )
60
+ end
61
+ end
62
+ end
63
+ end
@@ -0,0 +1,51 @@
1
+ # typed: strong
2
+ # frozen_string_literal: true
3
+
4
+ module DearInventory
5
+ module Models
6
+ module Purchases
7
+ class UnstockLine < DearInventory::Model
8
+ extend T::Sig
9
+
10
+ fields(
11
+ CardID: {
12
+ name: :card_id,
13
+ type: :Guid,
14
+ },
15
+ Date: {
16
+ name: :date,
17
+ type: :Date,
18
+ },
19
+ Quantity: {
20
+ name: :quantity,
21
+ type: :BigDecimal,
22
+ },
23
+ ProductID: {
24
+ name: :product_id,
25
+ type: :Guid,
26
+ },
27
+ SKU: {
28
+ name: :sku,
29
+ type: :String,
30
+ },
31
+ Name: {
32
+ name: :name,
33
+ type: :String,
34
+ },
35
+ Location: {
36
+ name: :location,
37
+ type: :String,
38
+ },
39
+ BatchSN: {
40
+ name: :batch_sn,
41
+ type: :String,
42
+ },
43
+ ExpiryDate: {
44
+ name: :expiry_date,
45
+ type: :Date,
46
+ }
47
+ )
48
+ end
49
+ end
50
+ end
51
+ end
@@ -99,7 +99,7 @@ module DearInventory
99
99
  },
100
100
  COGSAmount: {
101
101
  name: :cogs_amount,
102
- type: :Numeric,
102
+ type: :BigDecimal,
103
103
  },
104
104
  Status: {
105
105
  name: :status,
@@ -139,7 +139,7 @@ module DearInventory
139
139
  },
140
140
  CurrencyRate: {
141
141
  name: :currency_rate,
142
- type: :Numeric,
142
+ type: :BigDecimal,
143
143
  },
144
144
  SalesRepresentative: {
145
145
  name: :sales_representative,
@@ -29,7 +29,7 @@ module DearInventory
29
29
  },
30
30
  InvoiceDate: {
31
31
  name: :invoice_date,
32
- type: :DateTime,
32
+ type: :Date,
33
33
  },
34
34
  InvoiceNumber: {
35
35
  name: :invoice_number,
@@ -37,7 +37,7 @@ module DearInventory
37
37
  },
38
38
  OrderDate: {
39
39
  name: :order_date,
40
- type: :DateTime,
40
+ type: :Date,
41
41
  },
42
42
  OrderNumber: {
43
43
  name: :order_number,
@@ -53,11 +53,11 @@ module DearInventory
53
53
  },
54
54
  InvoiceDueDate: {
55
55
  name: :invoice_due_date,
56
- type: :DateTime,
56
+ type: :Date,
57
57
  },
58
58
  ShipBy: {
59
59
  name: :ship_by,
60
- type: :DateTime,
60
+ type: :Date,
61
61
  },
62
62
  BaseCurrency: {
63
63
  name: :base_currency,
@@ -0,0 +1,47 @@
1
+ # typed: strong
2
+ # frozen_string_literal: true
3
+
4
+ module DearInventory
5
+ module Models
6
+ module Sales
7
+ class AdditionalCharge < DearInventory::Model
8
+ extend T::Sig
9
+
10
+ fields(
11
+ Description: {
12
+ name: :description,
13
+ type: :String,
14
+ },
15
+ Price: {
16
+ name: :price,
17
+ type: :BigDecimal,
18
+ },
19
+ Quantity: {
20
+ name: :quantity,
21
+ type: :BigDecimal,
22
+ },
23
+ Discount: {
24
+ name: :discount,
25
+ type: :BigDecimal,
26
+ },
27
+ Tax: {
28
+ name: :tax,
29
+ type: :BigDecimal,
30
+ },
31
+ Total: {
32
+ name: :total,
33
+ type: :BigDecimal,
34
+ },
35
+ TaxRule: {
36
+ name: :tax_rule,
37
+ type: :String,
38
+ },
39
+ Comment: {
40
+ name: :comment,
41
+ type: :String,
42
+ }
43
+ )
44
+ end
45
+ end
46
+ end
47
+ end