Jump to content

Steel, Mark

Moderators
  • Posts

    480
  • Joined

  • Last visited

  • Days Won

    35

Everything posted by Steel, Mark

  1. Hi Alain The c relates to its cloud integration. It uses a backup cloud storage facility that allows remote users to synchronise the data and submit changes which are then persisted to the data server. There is also office 365 integration capability. Sage 50c is a global product name but the information i'm giving here relates only to the UK version. We're unable to recommend an API provider but have seen both Hyperext and Codat API's used to create integrations. Thanks Mark
  2. Hi Alain, thank you for your question. Integrations written for Sage Business Cloud Accounts would not be usable for Sage 50c. Sage 50c is currently a desktop product which provides integration via an SDK known as Sage Data Objects(SDO). API's have been made available for Sage 50c by 3rd party providers. Thanks Mark
  3. Hi Daoud, thank you for your question. I believe Norman was able to exchange the auth_code for an access_token after setting the header parameter Content-Type: application/x-www-form-urlencoded and ensuring the auth_code was proceeded with the grant_type of Bearer. Are you sending Content-Type: application/x-www-form-urlencoded as a header parameter and adding the grant_type "Bearer" to the code value(Bearer GB%2F20cc2677-d838-47e1-a197-e914679d0222)? Thanks Mark
  4. Hi Frankie We're not aware of any issue at present that would invoke a timeout due to IP address routing in AWS CloudFront. The query parameters you are sending in the request could potentially be the issue and we may need to extend the timeout. If the request is sent without the query parameters and routed through 52.222.138.81 is the sales_invoices data returned without timing out? Could you also confirm if the request you made locally via 13.227.172.83 is the same request with the same parameters for the same business please. Once we've confirmed the above, we'll be able to investigate the matter further. Thanks Mark
  5. Hi Dave Yes, that's correct. The nested_attributes are only returned for the individual ledger_entries. It depends on how much detail you require from the nested_attributes but the following query params would return the specified attributes for all ledger_entries. ledger_entries?attributes=contact,ledger_account,transaction { "$total": 2717, "$page": 1, "$next": "/ledger_entries?page=2&items_per_page=20&attributes=contact,ledger_account,transaction", "$back": null, "$itemsPerPage": 20, "$items": [ { "id": "1c31017630e840bfa9c64a8a230de9cd", "displayed_as": "O/BAL", "$path": "/ledger_entries/1c31017630e840bfa9c64a8a230de9cd", "ledger_account": { "id": "92dcb6556d5211ecbccd06255bbcbb57", "displayed_as": "Opening Balances (9998)", "$path": "/ledger_accounts/92dcb6556d5211ecbccd06255bbcbb57" }, "transaction": { "id": "abb7356654d140be87db3935dd0ce1c6", "displayed_as": "O/BAL", "$path": "/transactions/abb7356654d140be87db3935dd0ce1c6" }, "contact": { "id": "2c7eb53d1b764094b0f460e995182409", "displayed_as": "Newtown Builders Ltd (NEW001)", "$path": "/contacts/2c7eb53d1b764094b0f460e995182409" } }, { "id": "15616cb1b74c464ea0911aaaf23e0cc4", "displayed_as": "O/BAL", "$path": "/ledger_entries/15616cb1b74c464ea0911aaaf23e0cc4", "ledger_account": { "id": "92d275346d5211ecbccd06255bbcbb57", "displayed_as": "Trade Creditors (2100)", "$path": "/ledger_accounts/92d275346d5211ecbccd06255bbcbb57" }, "transaction": { "id": "abb7356654d140be87db3935dd0ce1c6", "displayed_as": "O/BAL", "$path": "/transactions/abb7356654d140be87db3935dd0ce1c6" }, "contact": { "id": "2c7eb53d1b764094b0f460e995182409", "displayed_as": "Newtown Builders Ltd (NEW001)", "$path": "/contacts/2c7eb53d1b764094b0f460e995182409" } }, { "id": "dbd855566b7b41ea848449a47f9ec919", "displayed_as": "O/BAL", "$path": "/ledger_entries/dbd855566b7b41ea848449a47f9ec919", "ledger_account": { "id": "92dcb6556d5211ecbccd06255bbcbb57", "displayed_as": "Opening Balances (9998)", "$path": "/ledger_accounts/92dcb6556d5211ecbccd06255bbcbb57" }, "transaction": { "id": "6c27710d06f940cab65fcc8cc2c52abe", "displayed_as": "O/BAL", "$path": "/transactions/6c27710d06f940cab65fcc8cc2c52abe" }, "contact": { "id": "4ebc068947c3442e8f43519c485cc617", "displayed_as": "Unique Systems (UNI001)", "$path": "/contacts/4ebc068947c3442e8f43519c485cc617" } }, { "id": "d39b071bd3c243b0a56eb21869c71690", "displayed_as": "O/BAL", "$path": "/ledger_entries/d39b071bd3c243b0a56eb21869c71690", "ledger_account": { "id": "92d275346d5211ecbccd06255bbcbb57", "displayed_as": "Trade Creditors (2100)", "$path": "/ledger_accounts/92d275346d5211ecbccd06255bbcbb57" }, "transaction": { "id": "6c27710d06f940cab65fcc8cc2c52abe", "displayed_as": "O/BAL", "$path": "/transactions/6c27710d06f940cab65fcc8cc2c52abe" }, "contact": { "id": "4ebc068947c3442e8f43519c485cc617", "displayed_as": "Unique Systems (UNI001)", "$path": "/contacts/4ebc068947c3442e8f43519c485cc617" } }, { "id": "4d8d02b8447b41fe8667420a0de53754", "displayed_as": "O/BAL", "$path": "/ledger_entries/4d8d02b8447b41fe8667420a0de53754", "ledger_account": { "id": "92d275346d5211ecbccd06255bbcbb57", "displayed_as": "Trade Creditors (2100)", "$path": "/ledger_accounts/92d275346d5211ecbccd06255bbcbb57" }, "transaction": { "id": "d2827e4c2dc3491c86f5b86337dc6763", "displayed_as": "O/BAL", "$path": "/transactions/d2827e4c2dc3491c86f5b86337dc6763" }, "contact": { "id": "0b60dfe90da147be8cabf88d453a440d", "displayed_as": "Wise Electricals Ltd (WIS001)", "$path": "/contacts/0b60dfe90da147be8cabf88d453a440d" } }, { "id": "2f8a62d45c794ff996d56374a2c4db93", "displayed_as": "O/BAL", "$path": "/ledger_entries/2f8a62d45c794ff996d56374a2c4db93", "ledger_account": { "id": "92dcb6556d5211ecbccd06255bbcbb57", "displayed_as": "Opening Balances (9998)", "$path": "/ledger_accounts/92dcb6556d5211ecbccd06255bbcbb57" }, "transaction": { "id": "d2827e4c2dc3491c86f5b86337dc6763", "displayed_as": "O/BAL", "$path": "/transactions/d2827e4c2dc3491c86f5b86337dc6763" }, "contact": { "id": "0b60dfe90da147be8cabf88d453a440d", "displayed_as": "Wise Electricals Ltd (WIS001)", "$path": "/contacts/0b60dfe90da147be8cabf88d453a440d" } }, { "id": "9a52a81d2d7e4dd5bc5b62019a12354e", "displayed_as": "O/BAL", "$path": "/ledger_entries/9a52a81d2d7e4dd5bc5b62019a12354e", "ledger_account": { "id": "92d275346d5211ecbccd06255bbcbb57", "displayed_as": "Trade Creditors (2100)", "$path": "/ledger_accounts/92d275346d5211ecbccd06255bbcbb57" }, "transaction": { "id": "3fe476434b8f48c1b92a7321bd0974f8", "displayed_as": "O/BAL", "$path": "/transactions/3fe476434b8f48c1b92a7321bd0974f8" }, "contact": { "id": "d95a5cb5acc7458c8c7406104c8d0120", "displayed_as": "Wallace Office Equipment (WAL001)", "$path": "/contacts/d95a5cb5acc7458c8c7406104c8d0120" } }, { "id": "46d6877706e447fd9c293029ac56a9f1", "displayed_as": "O/BAL", "$path": "/ledger_entries/46d6877706e447fd9c293029ac56a9f1", "ledger_account": { "id": "92dcb6556d5211ecbccd06255bbcbb57", "displayed_as": "Opening Balances (9998)", "$path": "/ledger_accounts/92dcb6556d5211ecbccd06255bbcbb57" }, "transaction": { "id": "3fe476434b8f48c1b92a7321bd0974f8", "displayed_as": "O/BAL", "$path": "/transactions/3fe476434b8f48c1b92a7321bd0974f8" }, "contact": { "id": "d95a5cb5acc7458c8c7406104c8d0120", "displayed_as": "Wallace Office Equipment (WAL001)", "$path": "/contacts/d95a5cb5acc7458c8c7406104c8d0120" } }, { "id": "fd049a55212f49e0b5f39e111f62211f", "displayed_as": "O/BAL", "$path": "/ledger_entries/fd049a55212f49e0b5f39e111f62211f", "ledger_account": { "id": "92d275346d5211ecbccd06255bbcbb57", "displayed_as": "Trade Creditors (2100)", "$path": "/ledger_accounts/92d275346d5211ecbccd06255bbcbb57" }, "transaction": { "id": "3ca2681ecdff48a98969a7b5146d7419", "displayed_as": "O/BAL", "$path": "/transactions/3ca2681ecdff48a98969a7b5146d7419" }, "contact": { "id": "f4f5343d02d1475781baa56410416637", "displayed_as": "Wedgwood Marshall & Wilson (WED001)", "$path": "/contacts/f4f5343d02d1475781baa56410416637" } }, { "id": "eeb4533f2c76438fad328ac6049df15a", "displayed_as": "O/BAL", "$path": "/ledger_entries/eeb4533f2c76438fad328ac6049df15a", "ledger_account": { "id": "92dcb6556d5211ecbccd06255bbcbb57", "displayed_as": "Opening Balances (9998)", "$path": "/ledger_accounts/92dcb6556d5211ecbccd06255bbcbb57" }, "transaction": { "id": "3ca2681ecdff48a98969a7b5146d7419", "displayed_as": "O/BAL", "$path": "/transactions/3ca2681ecdff48a98969a7b5146d7419" }, "contact": { "id": "f4f5343d02d1475781baa56410416637", "displayed_as": "Wedgwood Marshall & Wilson (WED001)", "$path": "/contacts/f4f5343d02d1475781baa56410416637" } }, { "id": "61b8d760a88a42669eee5881d101f5ba", "displayed_as": "O/BAL", "$path": "/ledger_entries/61b8d760a88a42669eee5881d101f5ba", "ledger_account": { "id": "92d275346d5211ecbccd06255bbcbb57", "displayed_as": "Trade Creditors (2100)", "$path": "/ledger_accounts/92d275346d5211ecbccd06255bbcbb57" }, "transaction": { "id": "e8a1f73272ab4ce2b6e175d337d60aa9", "displayed_as": "O/BAL", "$path": "/transactions/e8a1f73272ab4ce2b6e175d337d60aa9" }, "contact": { "id": "423b111cd0d04c1e9bdc3835f155dc98", "displayed_as": "Superclean (SUP002)", "$path": "/contacts/423b111cd0d04c1e9bdc3835f155dc98" } }, { "id": "74ff60ef0bfa41658fecba80d1c84352", "displayed_as": "O/BAL", "$path": "/ledger_entries/74ff60ef0bfa41658fecba80d1c84352", "ledger_account": { "id": "92dcb6556d5211ecbccd06255bbcbb57", "displayed_as": "Opening Balances (9998)", "$path": "/ledger_accounts/92dcb6556d5211ecbccd06255bbcbb57" }, "transaction": { "id": "e8a1f73272ab4ce2b6e175d337d60aa9", "displayed_as": "O/BAL", "$path": "/transactions/e8a1f73272ab4ce2b6e175d337d60aa9" }, "contact": { "id": "423b111cd0d04c1e9bdc3835f155dc98", "displayed_as": "Superclean (SUP002)", "$path": "/contacts/423b111cd0d04c1e9bdc3835f155dc98" } }, { "id": "125628882d9748a09a60666d1c409569", "displayed_as": "O/BAL", "$path": "/ledger_entries/125628882d9748a09a60666d1c409569", "ledger_account": { "id": "92d275346d5211ecbccd06255bbcbb57", "displayed_as": "Trade Creditors (2100)", "$path": "/ledger_accounts/92d275346d5211ecbccd06255bbcbb57" }, "transaction": { "id": "5e84eceecc874465a3bca90f560ec400", "displayed_as": "O/BAL", "$path": "/transactions/5e84eceecc874465a3bca90f560ec400" }, "contact": { "id": "c91161117bd440de8a3fe7e21a9bb9d7", "displayed_as": "Quality Motors (QUA001)", "$path": "/contacts/c91161117bd440de8a3fe7e21a9bb9d7" } }, { "id": "e15a885c993b4079a43bb41140ce818b", "displayed_as": "O/BAL", "$path": "/ledger_entries/e15a885c993b4079a43bb41140ce818b", "ledger_account": { "id": "92dcb6556d5211ecbccd06255bbcbb57", "displayed_as": "Opening Balances (9998)", "$path": "/ledger_accounts/92dcb6556d5211ecbccd06255bbcbb57" }, "transaction": { "id": "5e84eceecc874465a3bca90f560ec400", "displayed_as": "O/BAL", "$path": "/transactions/5e84eceecc874465a3bca90f560ec400" }, "contact": { "id": "c91161117bd440de8a3fe7e21a9bb9d7", "displayed_as": "Quality Motors (QUA001)", "$path": "/contacts/c91161117bd440de8a3fe7e21a9bb9d7" } }, { "id": "2785d4eadbbc4a318113a943f81088eb", "displayed_as": "O/BAL", "$path": "/ledger_entries/2785d4eadbbc4a318113a943f81088eb", "ledger_account": { "id": "92d275346d5211ecbccd06255bbcbb57", "displayed_as": "Trade Creditors (2100)", "$path": "/ledger_accounts/92d275346d5211ecbccd06255bbcbb57" }, "transaction": { "id": "5b469244e04f4d298863c5d1a55d420c", "displayed_as": "O/BAL", "$path": "/transactions/5b469244e04f4d298863c5d1a55d420c" }, "contact": { "id": "4afa8d52664e4c0c83088f44c379f836", "displayed_as": "Thompsons Electricals (THO001)", "$path": "/contacts/4afa8d52664e4c0c83088f44c379f836" } }, { "id": "d1f17b5f0b594d75a28a7a71f34f665d", "displayed_as": "O/BAL", "$path": "/ledger_entries/d1f17b5f0b594d75a28a7a71f34f665d", "ledger_account": { "id": "92dcb6556d5211ecbccd06255bbcbb57", "displayed_as": "Opening Balances (9998)", "$path": "/ledger_accounts/92dcb6556d5211ecbccd06255bbcbb57" }, "transaction": { "id": "5b469244e04f4d298863c5d1a55d420c", "displayed_as": "O/BAL", "$path": "/transactions/5b469244e04f4d298863c5d1a55d420c" }, "contact": { "id": "4afa8d52664e4c0c83088f44c379f836", "displayed_as": "Thompsons Electricals (THO001)", "$path": "/contacts/4afa8d52664e4c0c83088f44c379f836" } }, { "id": "6ae99abda6504ef58456484b9437d47b", "displayed_as": "O/BAL", "$path": "/ledger_entries/6ae99abda6504ef58456484b9437d47b", "ledger_account": { "id": "92d275346d5211ecbccd06255bbcbb57", "displayed_as": "Trade Creditors (2100)", "$path": "/ledger_accounts/92d275346d5211ecbccd06255bbcbb57" }, "transaction": { "id": "ebcabf378e2d42e797fdaa227b9a95c7", "displayed_as": "O/BAL", "$path": "/transactions/ebcabf378e2d42e797fdaa227b9a95c7" }, "contact": { "id": "17027f126a2944059b5ff0e7a51cbe2b", "displayed_as": "Superior Technologies Ltd (SUP001)", "$path": "/contacts/17027f126a2944059b5ff0e7a51cbe2b" } }, { "id": "8891d2cd722d4e98af1d737c490e156b", "displayed_as": "O/BAL", "$path": "/ledger_entries/8891d2cd722d4e98af1d737c490e156b", "ledger_account": { "id": "92dcb6556d5211ecbccd06255bbcbb57", "displayed_as": "Opening Balances (9998)", "$path": "/ledger_accounts/92dcb6556d5211ecbccd06255bbcbb57" }, "transaction": { "id": "ebcabf378e2d42e797fdaa227b9a95c7", "displayed_as": "O/BAL", "$path": "/transactions/ebcabf378e2d42e797fdaa227b9a95c7" }, "contact": { "id": "17027f126a2944059b5ff0e7a51cbe2b", "displayed_as": "Superior Technologies Ltd (SUP001)", "$path": "/contacts/17027f126a2944059b5ff0e7a51cbe2b" } }, { "id": "6213933c15c8475290b0ad98ce8bbe23", "displayed_as": "O/BAL", "$path": "/ledger_entries/6213933c15c8475290b0ad98ce8bbe23", "ledger_account": { "id": "92d1b5426d5211ecbccd06255bbcbb57", "displayed_as": "Trade Debtors (1100)", "$path": "/ledger_accounts/92d1b5426d5211ecbccd06255bbcbb57" }, "transaction": { "id": "422aef5623f24749a7a9067bf047a7a7", "displayed_as": "O/BAL", "$path": "/transactions/422aef5623f24749a7a9067bf047a7a7" }, "contact": { "id": "8f8e332fecbd47e2aebe9053553024b3", "displayed_as": "Macolm Hall Associates (MAC001)", "$path": "/contacts/8f8e332fecbd47e2aebe9053553024b3" } }, { "id": "90edf553fee74599a89cac171885f1b5", "displayed_as": "O/BAL", "$path": "/ledger_entries/90edf553fee74599a89cac171885f1b5", "ledger_account": { "id": "92dcb6556d5211ecbccd06255bbcbb57", "displayed_as": "Opening Balances (9998)", "$path": "/ledger_accounts/92dcb6556d5211ecbccd06255bbcbb57" }, "transaction": { "id": "422aef5623f24749a7a9067bf047a7a7", "displayed_as": "O/BAL", "$path": "/transactions/422aef5623f24749a7a9067bf047a7a7" }, "contact": { "id": "8f8e332fecbd47e2aebe9053553024b3", "displayed_as": "Macolm Hall Associates (MAC001)", "$path": "/contacts/8f8e332fecbd47e2aebe9053553024b3" } } ] }
  6. Hi Dave, thank you for your question. The Accounting API is not fully oData compliant and as such may not return nested objects inline with what you may be familiar with. You can return the required objects within the ledger_entries/id request by using the nested_attributes=all query parameter. ledger_entries/8221960b991b43a5940bc185bfb61a5f?nested_attributes=all Example response. { "id": "8221960b991b43a5940bc185bfb61a5f", "displayed_as": "Payment On Account", "$path": "/ledger_entries/8221960b991b43a5940bc185bfb61a5f", "created_at": "2022-01-04T15:09:12Z", "updated_at": "2022-01-04T15:09:12Z", "date": "2022-01-04", "credit": "10.0", "debit": "0.0", "ledger_account": { "id": "92d1b5426d5211ecbccd06255bbcbb57", "displayed_as": "Trade Debtors (1100)", "$path": "/ledger_accounts/92d1b5426d5211ecbccd06255bbcbb57", "created_at": "2022-01-04T11:36:35Z", "updated_at": "2022-01-04T11:36:35Z", "ledger_account_group": { "id": "ASSET", "displayed_as": "Asset" }, "name": "Trade Debtors", "display_name": "Trade Debtors", "visible_scopes": [ "journals", "reporting" ], "included_in_chart": true, "nominal_code": 1100, "ledger_account_type": { "id": "CURRENT_ASSETS", "displayed_as": "Current Assets", "$path": "/ledger_account_types/CURRENT_ASSETS" }, "ledger_account_classification": null, "tax_rate": { "id": "GB_NO_TAX", "displayed_as": "No VAT", "$path": "/tax_rates/GB_NO_TAX" }, "fixed_tax_rate": true, "visible_in_banking": false, "visible_in_expenses": false, "visible_in_journals": true, "visible_in_other_payments": false, "visible_in_other_receipts": false, "visible_in_reporting": true, "visible_in_sales": false, "balance_details": { "balance": "91205.88", "credit_or_debit": "debit", "credits": "134429.05", "debits": "225634.93", "from_date": null, "to_date": null }, "is_control_account": true, "control_name": "TRADE_DEBTORS", "display_formatted": "1100 - Trade Debtors", "tax_recoverable": null, "recoverable_percentage": null, "non_recoverable_ledger_account": null, "cis_materials": false, "tax_instalment": false, "cis_labour": false, "gifi_code": null }, "transaction": { "id": "1119f8cf0aa34b6a9f68ce589c593826", "displayed_as": "Payment On Account", "$path": "/transactions/1119f8cf0aa34b6a9f68ce589c593826", "created_at": "2022-01-04T15:09:12Z", "updated_at": "2022-01-04T15:09:12Z", "date": "2022-01-04", "deleted": false, "reference": "Payment On Account", "total": "10.0", "total_in_transaction_currency": "10.0", "contact": { "id": "8941a09e0a8e4c67b894d6fab425c6e7", "displayed_as": "A1 Design Services (A1D001)", "$path": "/contacts/8941a09e0a8e4c67b894d6fab425c6e7" }, "transaction_type": { "id": "CUSTOMER_RECEIPT", "displayed_as": "Customer Receipt", "$path": "/transaction_types/CUSTOMER_RECEIPT" }, "origin": { "id": "67755cbfafb641809a56463954cc3782", "displayed_as": "Payment On Account", "$path": "/contact_payments/67755cbfafb641809a56463954cc3782", "links": [ { "href": null, "rel": "alternate", "type": "text/html" } ] }, "audit_trail_id": 587 }, "contact": { "id": "8941a09e0a8e4c67b894d6fab425c6e7", "displayed_as": "A1 Design Services (A1D001)", "$path": "/contacts/8941a09e0a8e4c67b894d6fab425c6e7", "created_at": "2022-01-04T11:38:31Z", "updated_at": "2022-01-04T11:38:31Z", "links": [ { "href": "https://accounts-extra.sageone.com/contacts/contacts/106109950", "rel": "alternate", "type": "text/html" } ], "contact_types": [ { "id": "CUSTOMER", "displayed_as": "Customer", "$path": "/contact_types/CUSTOMER" } ], "name": "A1 Design Services", "reference": "A1D001", "default_sales_ledger_account": { "id": "92d661606d5211ecbccd06255bbcbb57", "displayed_as": "Other income (4900)", "$path": "/ledger_accounts/92d661606d5211ecbccd06255bbcbb57", "created_at": "2022-01-04T11:36:35Z", "updated_at": "2022-01-04T11:36:35Z", "ledger_account_group": { "id": "INCOME", "displayed_as": "Income" }, "name": "Other income", "display_name": "Other income", "visible_scopes": [ "journals", "other_receipt", "reporting", "sales" ], "included_in_chart": true, "nominal_code": 4900, "ledger_account_type": { "id": "OTHER_INCOME", "displayed_as": "Other Income", "$path": "/ledger_account_types/OTHER_INCOME" }, "ledger_account_classification": null, "tax_rate": { "id": "GB_STANDARD", "displayed_as": "Standard 20.00%", "$path": "/tax_rates/GB_STANDARD" }, "fixed_tax_rate": true, "visible_in_banking": false, "visible_in_expenses": false, "visible_in_journals": true, "visible_in_other_payments": false, "visible_in_other_receipts": true, "visible_in_reporting": true, "visible_in_sales": true, "balance_details": { "balance": "488.17", "credit_or_debit": "credit", "credits": "488.17", "debits": "0.0", "from_date": null, "to_date": null }, "is_control_account": false, "control_name": null, "display_formatted": "4900 - Other income", "tax_recoverable": null, "recoverable_percentage": null, "non_recoverable_ledger_account": null, "cis_materials": false, "tax_instalment": false, "cis_labour": false, "gifi_code": null }, "default_sales_tax_rate": { "id": "GB_STANDARD", "displayed_as": "Standard 20.00%", "$path": "/tax_rates/GB_STANDARD" }, "tax_number": "GB938484382", "notes": "", "locale": "en", "main_address": { "id": "5897d70e20a045feb95031ff1f59fe71", "displayed_as": "", "$path": "/addresses/5897d70e20a045feb95031ff1f59fe71", "contact": { "id": "8941a09e0a8e4c67b894d6fab425c6e7", "displayed_as": "A1 Design Services (A1D001)", "$path": "/contacts/8941a09e0a8e4c67b894d6fab425c6e7" }, "address_type": { "id": "DELIVERY", "displayed_as": "Delivery", "$path": "/address_types/DELIVERY" }, "name": "Main Address", "address_line_1": null, "address_line_2": null, "city": null, "region": null, "postal_code": null, "country": { "id": "GB", "displayed_as": "United Kingdom (GB)", "$path": "/countries/GB" }, "country_group": { "id": "ALL", "displayed_as": "Other", "$path": "/country_groups/ALL" }, "is_main_address": true, "created_at": "2022-01-04T11:38:31Z", "updated_at": "2022-01-04T11:38:31Z" }, "delivery_address": null, "main_contact_person": { "id": "b3da384bde8b409e86abaf1b2a16d138", "displayed_as": "Main Contact", "$path": "/contact_persons/b3da384bde8b409e86abaf1b2a16d138", "contact_person_types": [ { "id": "ACCOUNTS", "displayed_as": "Accounts", "$path": "/contact_person_types/ACCOUNTS" } ], "name": "Main Contact", "job_title": null, "telephone": null, "mobile": null, "email": null, "fax": null, "is_main_contact": true, "address": { "id": "5897d70e20a045feb95031ff1f59fe71", "displayed_as": "", "$path": "/addresses/5897d70e20a045feb95031ff1f59fe71" }, "created_at": "2022-01-04T11:38:31Z", "updated_at": "2022-01-04T11:38:31Z" }, "bank_account_details": { "account_name": null, "account_number": null, "sort_code": null, "bic": null, "iban": null }, "credit_limit": "1000.0", "credit_days": 30, "credit_terms_and_conditions": "null", "product_sales_price_type": { "id": "155d11369a434b5d89af050786a22964", "displayed_as": "Sales Price", "$path": "/product_sales_price_types/155d11369a434b5d89af050786a22964" }, "source_guid": null, "currency": { "id": "GBP", "displayed_as": "Pound Sterling (GBP)", "$path": "/currencies/GBP" }, "aux_reference": "", "registered_number": null, "deletable": false, "tax_treatment": { "home_tax": true, "eu_tax_registered": false, "eu_not_tax_registered": false, "rest_of_world_tax": false, "is_importer": null }, "email": null, "tax_calculation": "", "gdpr_obfuscated": false, "system": false, "has_unfinished_recurring_invoices": false, "cis_registered": false, "ni_based": false, "gb_based": true, "cis_settings": null, "destination_vat_blocking": false }, "deleted": false, "tax_rate": null, "description": null, "journal_code": null }
  7. Hi Kelvin, thank you for your question. CUSTOMER_REFUND can be allocated only to sales_credit_notes and payments on account with an outstanding amount. The message returned for your request seems to suggest the payment on account has already been allocated. When allocating against a payment on account you need to ensure you set the allocated_artefacts artefact_id with the payment_on_account_id and not the artefact_id or transaction_id. Payment On Account Example - Note the payment_on_account_id and outstanding_amount { "id": "37ba1d6d75754ddeadce2bb91228f6e5", "displayed_as": "Test PA", "$path": "/contact_payments/37ba1d6d75754ddeadce2bb91228f6e5", "created_at": "2022-01-04T15:15:43Z", "updated_at": "2022-01-04T15:15:43Z", "links": [ { "href": "https://accounts-extra.sageone.com/advanced_uk/customer_income_payments/360381886", "rel": "alternate", "type": "text/html" } ], "transaction": { "id": "c3b64ecb82bc46f489236b1475bf658f", "displayed_as": "Test PA", "$path": "/transactions/c3b64ecb82bc46f489236b1475bf658f" }, "transaction_type": { "id": "CUSTOMER_RECEIPT", "displayed_as": "Customer Receipt", "$path": "/transaction_types/CUSTOMER_RECEIPT" }, "payment_method": { "id": "CREDIT_DEBIT", "displayed_as": "Credit/Debit Card", "$path": "/payment_methods/CREDIT_DEBIT" }, "contact": { "id": "7c2ae4b1747c481cb8d217011556d19e", "displayed_as": "ABS Garages Ltd (ABS001)", "$path": "/contacts/7c2ae4b1747c481cb8d217011556d19e" }, "bank_account": { "id": "e1284829c0624845bb68efce77dbf2ca", "displayed_as": "Bank Account (1200)", "$path": "/bank_accounts/e1284829c0624845bb68efce77dbf2ca" }, "date": "2022-01-04", "net_amount": "0.0", "tax_amount": "0.0", "total_amount": "10.0", "currency": { "id": "GBP", "displayed_as": "Pound Sterling (GBP)", "$path": "/currencies/GBP" }, "exchange_rate": "1.0", "base_currency_net_amount": "0.0", "base_currency_tax_amount": "0.0", "base_currency_total_amount": "10.0", "base_currency_currency_charge": "0.0", "reference": "Test PA", "allocated_artefacts": [], "tax_rate": null, "payment_on_account": { "id": "95c194e7f6084d2eb38f167100b25c70", "displayed_as": "Test PA", "$path": "/contact_payments/37ba1d6d75754ddeadce2bb91228f6e5", "created_at": "2022-01-04T15:15:43Z", "updated_at": "2022-01-04T15:15:43Z", "contact_name": "ABS Garages Ltd", "contact_reference": "ABS001", "contact": { "id": "7c2ae4b1747c481cb8d217011556d19e", "displayed_as": "ABS Garages Ltd (ABS001)", "$path": "/contacts/7c2ae4b1747c481cb8d217011556d19e" }, "date": "2022-01-04", "reference": "Test PA", "net_amount": "10.0", "tax_amount": "0.0", "total_amount": "10.0", "outstanding_amount": "10.0", "currency": { "id": "GBP", "displayed_as": "Pound Sterling (GBP)", "$path": "/currencies/GBP" }, "exchange_rate": "1.0", "base_currency_net_amount": "10.0", "base_currency_tax_amount": "0.0", "base_currency_total_amount": "10.0", "base_currency_outstanding_amount": "10.0", "status": { "id": "UNPAID", "displayed_as": "Unpaid", "$path": "/artefact_statuses/UNPAID" } }, "editable": true Working JSON POST request { "contact_payment": { "transaction_type_id": "CUSTOMER_REFUND", "payment_method_id": "CREDIT_DEBIT", "contact_id": "7c2ae4b1747c481cb8d217011556d19e", "bank_account_id": "e1284829c0624845bb68efce77dbf2ca", "date": "2022-12-04", "total_amount": "10.00", "allocated_artefacts": [ { "artefact_id": "95c194e7f6084d2eb38f167100b25c70", "amount": "10.00" } ] } }
  8. Thanks Favrit You'll need to create some additional logging in your app which will allow you to store the response when making the request. How is this callback page being hosted? IIS? If I attempt to access the page I am denied access, what configuration have you made that will allow cloudflare to access the callback page? Thanks Mark
  9. Hi Alain, thank you for your question. Stock Items are only available for the upper tiers of Sage Business Cloud Accounting(Accounting plus). You would need to create a new Trial account for the Accounting plus tier rather than the start or accounting tier. Thanks Mark
  10. Hi Leo Thanks for the request. Have you been able to use the access_token returned in POSTMAN to make the same request? It appears that it is the format of the request that is incorrect. You'll need to ensure you're setting the authorization type as Bearer when sending the access_token in the header. Let me know how you get on. Thanks Mark
  11. Hi Favrit Do you have the details of the error returned. For example is it returning an http 500 error response? Usually 500 responses indicate that the page is inaccessible to the calling request. What have you done to ensure that this page is accessible to cloudflare when it responds with the access and refresh tokens? Thanks Mark
  12. Hi, thank you for your question. There's no validation to prevent you using the same name for an additional business. It would however, be difficult for anyone using the WEB UI to differentiate between them. When a business is provisioned in SBCA it is given a guid. It is this guid which is used to identify a business. The businesses endpoint will return all of the guid's the authorised user is able to access. Our multi business guide has more detailed information relating to this. Thanks Mark
  13. Hi, thanks for the question. The businesses endpoint always returns all businesses available to the authorised user. As such, the need for pagination is not required. The engineering team responsible for the implementation of the endpoint wanted to maintain the same pagination formats as the other endpoints meaning they had to choose a number which would never be reached as the default. This is the only exception to the default items_per_page values of 20. Thanks Mark
  14. HI, apologies I missed your question. If you can post the request including the headers you are making I'll take a look. Make sure you don't share any of your developer credentials, client_id, client_secret etc. Thanks Mark
  15. Hi Alain Yes, that is correct, the app requires a Sage ID to authenticate. Your Sage ID would have been created during your signup to the developer community and not the developer self service. Thanks Mark
  16. Hi Alain, thank you for your question. It sounds as if the account you signed up for is a promotional offer rather than a trial account. The trial account link is towards the very bottom of the page and won't ask for payment details. I've attached a screenshot for your information. Once you have signed up for the trial account, please let us know the email address used and we can have the account extended for development purposes. We have a POSTMAN collection together with demo data that can be used to hydrate UK Vat registered businesses with data. You can find that here. Our developer journey is currently missing a sandbox environment. We're working towards bridging this gap and hope to be able to offer the functionality in the future. Thanks Mark
  17. Hi Favrit, thank you for your question. The nominal code can be obtained from the ledger_accounts endpoint. It's possible to pass a search query parameter with the value set to the nominal code as below. ledger_accounts?search=4000 Thanks Mark
  18. Thanks for confirming. Have you re-tried in POSTMAN after adding the POSTMAN callback URL in https://developerselfservice.sageone.com/? Thanks Mark
  19. Thanks for the information Kevin. To clarify, if you go to https://central.eu.sageone.com/login?locale=es-ES and enter the credentials you are using in the auth flow, are you able to access the business? Can you also add the POSTMAN browser callback URL(https://oauth.pstmn.io/v1/browser-callback) to your app in https://developerselfservice.sageone.com/. Thanks Mark
  20. Hi, thank you for your question. Sage Business Cloud Accounting has limited scope for custom invoice numbering. The only customisable aspects are the prefixes and the next invoice number as shown in the screenshot. These settings are available via Settings>Document Preferences>Prefixes & Numbering and via the invoice_settings API. If there is a requirement to persist data from a draft invoice to and unpaid invoice you will need to use a different field such as reference. Thanks Mark
  21. Hi, thank you for your question. There are a number of different API's available for Sage Products. Do you know the name of the Sage product you are trying to integrate with please? If it is Sage Business Cloud Accounting, the API reference and docs can be found here. Thanks Mark
  22. Hi Kevin, thank you for your question. Which region is the business you are trying to auth with located? UKI, CA, ES, FR or US? Are you able to sign in to the business using the credentials via the Web UI? What callback URL's do you have registered against your app in https://developerselfservice.sageone.com/? Thanks Mark
  23. Hi Favrit, thanks for the update. The refresh token is refreshed every time you exchange a refresh_token for an access_token. This means that the auth can be kept alive by exchanging refresh_tokens before they expire and preventing the need for the user to re-auth. Thanks Mark
  24. Hi Favrit, thank you for your question. From the error message it appears that you are obtaining the auth code on authenticating a sageID and the error is returned when trying to exchange the auth code for an access token. Could you provide the POST request you are making to https://oauth.accounting.sage.com/token. Please ensure that any client_id and secret are not visible. Thanks Mark
  25. Hi, thank you for your question. The contacts response can be filtered using the following parameters: GET https://api.accounting.sage.com/v3.1/contacts?contact_type_id=CUSTOMER Thanks Mark
×
×
  • Create New...