Агентские договора бухгалтерский учет пошаговая инструкция: Особенности агентского договора в бухгалтерском учете

Агентские договора бухгалтерский учет пошаговая инструкция: Особенности агентского договора в бухгалтерском учете

Содержание

Бухучет агентского договора

Агентский договор заключается между Принципалом и  Агентом. По которому Агент от своего имени за счет Принципала (иногда и от имени Принципала) обязуется выполнить работы, оказать услуги в интересах Принципала за определенное вознаграждение. Агент является посредником между Принципалом и третьим лицом, Агент не является исполнителем самих работ, не отвечает за их качество исполнения и не следит за сроками  исполнения.

В агентском договоре непременно должна быть утверждена и приложена форма отчета для Агента, срок его представления. Отчет является документом об исполнении агентского договора Агентом. Если данные требования не предусмотрены Агент направляет отчет Принципалу в свободной форме по мере окончания срока действия агентского договора, либо по мере его исполнения. Необходимо предусмотреть срок возражения Принципалом на отчет Агента, если срок отсутствуют, то отчет считается принятым по истечении 30-ти дней с момента представления отчета Агентом Принципалу.

Не менее важными реквизитами агентского договора являются:

  1. Предмет договора

Что должен выполнить Агент по поручению Принципала

  1. Срок договора

В течении какого времени необходимо исполнить предмет договора

  1. Исполнитель по договору: Принципал или Агент за счет Принципала

При заключении сделок с третьим лицом от имени Агента, но за счет Принципала все

права и обязанности по договору возникают у Агента.

  1. Сумма и особенности вознаграждения

Огаваривается конкретная сумма в пользу Агента за исполнение договора. Порядок

перечисления агентского вознаграждения.

Итак, отчет Агента является документом, с которого начинается учет сделок по агентскому договору. Поэтому, для отражения сделок в учете, отчет Агента должен содержать все необходимые реквизиты первичных документов. Если отчет носит информационный характер, то Агенту необходимо выставить акт выполненных работ (услуг). К отчету должны, приложены все подтверждающие документы, которые оформлялись по мере исполнения агентского договора. Конкретный перечень необходимых документов для исполнения поручения Принципала можно оговорить при заключении агентского договора.

Учет у Принципала

Все произведенные расходы Агентом в процессе исполнения агентского договора в учете у Принципала будут расходами, связанными с обычными видами деятельности. Они отражаются в учете по мере поступлений отчета от Агента, с приложением подтверждающих документов. Также расходом будет и агентское вознаграждение, расчет которого будет произведен и указан в отчете.

Доходами будет считаться сумма от реализации товаров (работ, услуг), которые отражены  в отчете Агента на дату составления отчета.

Если Агент действует от своего имени, Принципал в таком случае: счета, акты выполненных работ (услуг), накладные, счет-фактуры, прочую документацию в адрес третьих лиц не выставляет, не выставляет он их и Агенту. Подтверждающим документом реализации товаров (работ, услуг) будет является отчет Агента.

Учет у Агента

Произведенные расходы Агентом по агентскому договора, которые возмещены Принципалом, в расходах и в доходах не учитываются.

В налогооблагаемую базу попадет только полученное вознаграждение за исполнение агентского договора от Принципала. Данное вознаграждение будет доходом.  Отражается на счете 90 «Доходы от обычных видов деятельности». Если агентский вид деятельности является для Агента прочим поступлением, то доходы отражаются на счете 91 «Прочие доходы и расходы»

Полученные товары от Принципала учитываются на счете 004 “Товары, принятые на комиссию”. Приобретенные товары самим Агентом учитываются на счете 002 ” Товарно-материальные ценности, принятые на ответственное хранение”. Все товары до момента их реализации Агентом третьим лицам являются собственностью Принципала.

Если Агент по агентскому договору заключает сделки с третьими лицами от своего имени и за счет Принципала, то он может при проведении расчетов сразу произвести удержание своего комиссионного вознаграждения. То есть, перечислить Принципалу поступившие денежные средства от третьих лиц за минусом причитающегося вознаграждения. (Прим.: Если в договоре стороны не определили иной порядок расчетов).

Документы третьим лицам выставляются от имени Агента. Следует помнить, что в бухгалтерском учете документы по реализации товаров (работ, услуг) выставляются не позднее пяти календарных дней с момента их реализации.

Читайте также:

Изменения в бюджетном бухучете.

Основные проводки по бухучету.

Учет НДС у сторон агентского договора

Агент, действующий от своего имени и за счет Принципала  при реализации товаров (работ, услуг) третьим лицам выписывает им счет-фактуру от своего имени. Данный счет-фактуру Агент вписывает в книгу выставленных счет-фактур. Одновременно, направляет этот документ Принципалу, который в свою очередь выписывает счет-фактуру Агенту от своего имени на имя третьего лица, где дублирует все сведения их полученного счет-фактуры от Агента. То есть, в счет-фактуре в строке Продавец будет имя Принципала, а в строке Покупатель имя третьего лица, а не имя Агента. Выставленный счет-фактуру Принципал регистрирует в книге продаж счет-фактур и направляет ее Агенту. Агент регистрирует полученный счет-фактуру в книге полученных счет-фактур.

Примечание: Агент, действующий от своего имени и за счет Принципала, выставленные счет-фактуры на реализацию товаров (работ, услуг) третьим лицам, а также счет-фактуры выписанные на полученные денежные средства в счет будущих поставок товаров (работ, услуг) третьим лицам (авансы) в книге продаж не отражает.

Агент выставляет счет-фактуру Принципалу на агентское вознаграждение, данный счет- фактуру Агент регистрирует в книге продаж. Принципал регистрирует ее в книге покупок счет-фактур и в книге полученных счет-фактур.

Бухгалтерские проводки в учете

Отражение у Принципала

Дебет                     Кредит                       Основание

62                               90           Отражена выручка от реализации товаров (работ,

услуг) на основании представленного отчета Агента

90                              68             Начислен НДС к уплате в бюджет с реализации

по отчету Агента

20                              76             Начислено агентское вознаграждение Агенту

19                              76             Отражен НДС к возмещению с бюджета

по агентскому вознаграждению

68                             19               Уменьшена сумма к уплате в бюджет НДС за счет возмещения

по агентскому вознаграждению

90                          20             Списание в производство агентского вознаграждения

51                            62              Отражена сумма от реализации товаров (работ, услуг), которую

Перечислил Агент на счет Принципала, за минусом

комиссионного вознаграждения

76                         62               Отражена оплата комиссионного вознаграждения Агенту

за счет поступления денег от третьих лиц

Отражение у Агента

Дебет                  Кредит                  Основание

51                             62                 Отражены денежные средства поступившие от третьих лиц

62                           76                 Отражена реализация товаров (работ, услуг) по агентскому

Договору

76                           51                   Перечислены денежные средства Принципалу с удержанием

комиссионного вознаграждения

76                         62                 Отражено комиссионное вознаграждение

62                         90                 Отражен доход за агентское вознаграждение

90                         68                  Начислен НДС с агентского вознаграждения

Учет при реализации товаров агентом: руководство для бухгалтеров

ДействиеПроводкаДокументыДекларация НДС
Получены товары от принципала Д 004 – К ХХХ Накладная ТОРГ-12, М-15, 1-Т и др.  
Получена предоплата от покупателя Д 51 – К 62 (с/с «аванс»)

или

Д50 – К 62 (с/с «аванс»)

Платежное поручение, кассовый ордер, чек ККМ.  
Выставлен счет-фактура на полученную от покупателя предоплату (от имени агента)   Журнал учета СФ ч.1; в графе 3 ставится «02», в графах 10-11 –   реквизиты принципала  
Выставлен счет-фактура покупателю (от имени агента)   Журнал учета СФ ч. 1; в графе 3 ставится «01» (если в СФ есть товары агента – «15»), в графах 10-11 – реквизиты принципала Раздел 10
Принципалу передана копия счета-фактуры на предоплату, полученную от покупателя      
Принципалу передана копия счета-фактуры агента, выставленная покупателю      
Поступившая от покупателя предоплата перечислена принципалу за вычетом вознаграждения Д 76 — К 51 Платежное поручение  
Задолженность перед принципалом уменьшена на сумму удержанных агентских вознаграждений Д 76 – К 76 (с/с «агентские»)   Раздел 3 стр. 010 графа 3
Начислен НДС с вознаграждения, удержанного из предоплаты от покупателя Д 76 (с/с «агентские») — К 68   Раздел 3 стр. 010 графа 5
Товары проданы покупателю Д 62 — К 76 Накладная  
Списана стоимость товаров К 004 – Д ХХХ    
Получен счет-фактура от принципала на предоплату от покупателя   Журнал учета СФ ч. 2. В графе 3 ставится «02» (если сводный СФ – «28»). Номер и дату счета укажите в графе 12 ч.1 Журнала в соответствующей записи  
Получен счет-фактура от принципала на проданный товар   Журнал учета СФ ч. 2. В графе 3 ставится «01» (если сводный СФ – «27»). Номер и дату счета укажите в графе 12 ч.1 Журнала в соответствующей записи  
Выставлен счет-фактура принципалу на сумму агентских, ставка НДС 18%   Книга продаж
код вида операции «01»
 
Перечислена принципалу выручка за минусом вознаграждения и дополнительной выгоды посредника Д 76 — К 51 (50)    
Агентское вознаграждение и дополнительная выгода (включая НДС) признаны доходом Д 76 (с/с «агентские») — К 90-01

 

   
Начислен НДС с вознаграждения и дополнительной выгоды Д 90-03 — К 68    
Принят к вычету НДС, начисленный при удержании вознаграждения из аванса от покупателей Д 68 — К 76    
Аванс, полученный от покупателей, зачтен в оплате Д 62 – К 62 (с/с «аванс»)    

просто о сложном или детали решают всё

Моей знакомой папа посоветовал идти учиться на бухгалтера, п...

Надо добавить, что этот актив только на три года, потом &quo...

Мегакрутая статья!!! На практике мне оно сейчас не надо, но ...

Так для того, чтобы зачесть, надо декларации сдавать. А наро...

Так вы выбрали физическое лицо. А 1/150 - это для юридически...

Мне кажется еще нужно добавить стрелочку от поставщика к чел...

Мне кажется еще нужно добавить стрелочку от поставщика к чел...

Мне интересно, это только у нас в Волгограде или еще где-ниб...

Да.База для НДС = ФОТ + налоги* + прибыль. (* - "в...

с 31 дня просрочки будет применятся 1/150 ставки рефинансиро...

Было, проходили. У крупного заказчика из другого региона поя...

Купив недвижку в ипотеку и сдавая как физик можно НДФЛ зачес...

Вы такие наивные😂😂😂 налоговики сами все обнуляют, а потом на...

А вот осветите,пожалуйста,вопрос о том,что в цене товара,на ...

Меня раздражает заполнять всякие формы для банков, если кред...

Вообще проблемы не вижу. И головоломки тоже. Налоговая сторн...

Я думаю, что заполнять декларацию как обычно, но уплатить су...

В вопросе оплаты за утилизацию ТБКО с жилых помещений, где н...

Какие бы события не происходили в мире, реакция курса рубля ...

Эх, раздразить меня не сложно... Деньги раздражают. Когда их...

Почему всегда спрашивают проводки, а не статьи затрат или ви...

я хотел бы уточнить лично для себя.Вот лично я по всем базам...

а что есть груз, а что не груз по Вашему?где граница между в...

кстати... а на трусы нужно иметь документы?значит если трусы...

Подозреваю нифига там не веточка, а реально вёз груз без док...

А вот действительно интересно, почему они считают, что должн...

Аутсорс хорошая штука, думаю она научит собственников микро ...

Аутсорс хорошая штука, думаю она научит собственников микро ...

А почему пожалели? Расскажите

подключился.. пожалел, видимо, отключусь

Как налоговики привязывают агентские договоры при доказательстве схемы

Моей знакомой папа посоветовал идти учиться на бухгалтера, п...

Надо добавить, что этот актив только на три года, потом &quo...

Мегакрутая статья!!! На практике мне оно сейчас не надо, но ...

Так для того, чтобы зачесть, надо декларации сдавать. А наро...

Так вы выбрали физическое лицо. А 1/150 - это для юридически...

Мне кажется еще нужно добавить стрелочку от поставщика к чел...

Мне кажется еще нужно добавить стрелочку от поставщика к чел...

Мне интересно, это только у нас в Волгограде или еще где-ниб...

Да.База для НДС = ФОТ + налоги* + прибыль. (* - "в...

с 31 дня просрочки будет применятся 1/150 ставки рефинансиро...

Было, проходили. У крупного заказчика из другого региона поя...

Купив недвижку в ипотеку и сдавая как физик можно НДФЛ зачес...

Вы такие наивные😂😂😂 налоговики сами все обнуляют, а потом на...

А вот осветите,пожалуйста,вопрос о том,что в цене товара,на ...

Меня раздражает заполнять всякие формы для банков, если кред...

Вообще проблемы не вижу. И головоломки тоже. Налоговая сторн...

Я думаю, что заполнять декларацию как обычно, но уплатить су...

В вопросе оплаты за утилизацию ТБКО с жилых помещений, где н...

Какие бы события не происходили в мире, реакция курса рубля ...

Эх, раздразить меня не сложно... Деньги раздражают. Когда их...

Почему всегда спрашивают проводки, а не статьи затрат или ви...

я хотел бы уточнить лично для себя.Вот лично я по всем базам...

а что есть груз, а что не груз по Вашему?где граница между в...

кстати... а на трусы нужно иметь документы?значит если трусы...

Подозреваю нифига там не веточка, а реально вёз груз без док...

А вот действительно интересно, почему они считают, что должн...

Аутсорс хорошая штука, думаю она научит собственников микро ...

Аутсорс хорошая штука, думаю она научит собственников микро ...

А почему пожалели? Расскажите

подключился.. пожалел, видимо, отключусь

Пособие по учету посещаемости студентов | Texas Education Agency

Закон штата требует, чтобы каждый школьный округ Техаса принял систему учета посещаемости, которая включает процедуры для обеспечения точного учета и отчетности данных о посещаемости учащихся. Пособие по учету посещаемости студентов (SAAH) содержит официальные требования к учету посещаемости, которым должны соответствовать все государственные школьные округа и чартерные школы с открытой регистрацией в Техасе. Агентство собирает данные о посещаемости учащихся в первую очередь для того, чтобы обеспечить правильное выделение средств по программе Foundation School Program (FSP) государственным школам Техаса.

SAAH:

  • описывает квалификационные требования FSP для всех студентов,
  • устанавливает минимальные стандарты для всех систем учета посещаемости,
  • перечисляет требования к документации для целей аудита посещаемости, а
  • подробно описывает обязанности всего персонала округа, участвующего в учете посещаемости студентов.

Предлагаемая версия SAAH на 2020-2021 годы добавлена ​​в таблицу ниже.Период общественного обсуждения предлагаемого SAAH - 28 августа 2020 г. - 28 сентября 2020 г. Предлагаемая дата вступления в силу окончательного SAAH - 29 ноября 2020 г.

В течение периода общественного обсуждения предлагаемого правила вы можете отправлять комментарии общественности в электронном виде, используя форму общественного обсуждения.

Справочник по учету посещаемости студентов Версия Word Версия PDF Документ об изменениях SAAH Версия Word Версия PDF
Справочник на 2020-2021 гг., Предложено PDF 2,442 КБ Документ об изменениях на 2020-2021 годы, предлагается PDF 563 КБ
Справочник на 2019-2020 гг., Версия 2, принятый PDF 4 238 КБ 2019-2020 Изменить версию документа 2 PDF 422 КБ
Справочник на 2019-2020 гг., Принят PDF 2,550 КБ 2019-2020 Документ об изменениях PDF 3,710 КБ
Справочник на 2018-2019 гг., Принят Word 722 КБ PDF 2544 КБ 2018-2019 Документ об изменениях Word 89 КБ PDF 398 КБ
Справочник на 2017-2018 гг., Принят Word 719 КБ PDF 2,519 КБ 2017-2018 Документ об изменениях Word 87 КБ PDF 340 КБ
Справочник на 2016-2017 гг., Принят Word 711 КБ PDF 2,718 КБ 2016-2017 Изменить документ Word 79 КБ PDF 916 КБ
Справочник на 2015–2016 гг., Принят Word 714 КБ PDF 4,270 КБ 2015–2016 Изменить документ НЕТ PDF 448 КБ
Справочник 2014–2015 Word 692 КБ PDF 2,394 КБ 2014–2015 Изменения, документ НЕТ PDF 1,784 КБ
Справочник 2013–2014 Word 2,317 КБ PDF 1,725 ​​КБ 2013–2014 Изменить документ Word 209 КБ PDF 778 КБ
Справочник 2012–2013 Word 2,696 КБ PDF 1,761 КБ 2012–2013 Изменить документ Word 1028 КБ PDF 1,169 КБ
Справочник 2011–2012 гг. Версия 2 Word 2438 КБ PDF 1547 КБ 2011–2012 Изменить версию документа 2 Word 197 КБ PDF 472 КБ
Справочник 2011–2012 гг. Word 2260 КБ PDF 1547 КБ 2011–2012 Изменить документ Word 838 КБ PDF 839 КБ
Справочник 2010–2011 гг. Версия 2 Word 2,297 КБ PDF 3,635 КБ 2010–2011 Изменить версию документа 2 Word 81 КБ PDF 81 КБ
Справочник 2010–2011 Word 2,289 КБ PDF 3,594 КБ 2009–2010 Изменить версию документа 2 Word 487 КБ PDF 484 КБ

Презентации, тренинги и вебинары SAAH

Секция финансовой отчетности провела два веб-семинара по обзору Справочника по учету посещаемости студентов на 2016–2017 годы (SAAH) .Оба вебинара использовали одну и ту же презентацию и охватили один и тот же материал. Вы можете найти копию слайдов презентации веб-семинара и повтор веб-семинара 18 января 2017 г. ниже:

Слайды веб-семинара с руководством по учету посещаемости студентов на 2016-2017 гг. (PDF 1,15 МБ)

Веб-семинар по учету посещаемости студентов на 2016-2017 гг .: 18 января 2017 г.

Правила административного кодекса штата Техас (SAAH)

Правило Уполномоченного по образованию:

19 Административный кодекс штата Техас, §129.1025, Принятие по ссылке: Руководство по учету посещаемости студентов

Государственный совет по образованию Правила:

19 Административный кодекс штата Техас, §129.1, бесплатное посещение в целом

19 Административный кодекс штата Техас, §129.21, Требования к учету посещаемости студентов для целей государственного финансирования

Дополнительные ресурсы

Ниже приведены дополнительные ресурсы, связанные с SAAH:

.

Data Services управление пользователями и правами - пошаговые инструкции

Data Services использует центральный сервер управления (CMS) для управления пользователями и правами. В автономной среде DS те же функции предоставляются службами информационной платформы (IPS). Настройка безопасности пользователей - довольно громоздкий процесс. Процедура предоставления доступа разработчику DS состоит из четырех шагов:

  • Создать пользователя
  • Разрешить доступ к приложению DS Designer
  • Разрешить доступ к одному или нескольким (или всем) репозиториям
  • Разрешить автоматическое получение пароля репозитория DS из CMS

1.Создание пользователя

По умолчанию программа установки DS не создает учетных записей пользователей. Используйте область управления CMC «Пользователи и группы» для создания пользователей.

Рисунок 1: Список пользователей

Щелкните правой кнопкой мыши запись «Список пользователей», выберите «Новый»> «Новый пользователь» и укажите необходимые данные.

Рисунок 2: Создание нового пользователя

Нажмите кнопку «Создать и закрыть», чтобы завершить этот шаг.

Имя пользователя и пароль вводятся в окне входа в репозиторий DS Designer.

Рисунок 3: Вход в репозиторий DS

2.1. Управление пользователями

К сожалению, вновь созданный пользователь по умолчанию имеет ограниченное количество прав доступа. В частности, разрешение на запуск DS
Designer не предоставляется автоматически.

При попытке запустить приложение с этим пользователем и паролем отказано в доступе:

Рисунок 4: Доступ запрещен

Доступ может быть предоставлен отдельному пользователю в области приложений CMC.Щелкните правой кнопкой мыши «Приложение Data Services» и выберите «Безопасность пользователя».

Рисунок 5: Область приложений в CMC

Нажмите кнопку «Добавить участников»:

Рисунок 6: Безопасность пользователя

Выберите пользователя из «Списка пользователей» на панели «Доступные пользователи / группы» и нажмите кнопку «>», чтобы переместить его на панель «Выбранные пользователи / группы».

Рисунок 7: Добавить участников

Выберите вкладку «Дополнительно», а затем ссылку «Добавить / удалить права».

Рисунок 8: Назначение безопасности

Разрешите доступ к Designer и нажмите OK.

Рисунок 9: Добавление / удаление прав

2.2.

.

Пример по шагам - amoCRM

Давайте рассмотрим весь процесс получения доступа к данным, начиная с регистрации новой интеграции. На нем мы также обсудим прямую работу с API авторизации, но вы можете использовать нашу готовую библиотеку PHP для упрощения разработки или готовые библиотеки от других поставщиков, которые вы можете найти по этой ссылке

Мы разработали авторизацию на основе протокола oAuth 2.0, поэтому в открытом доступе вы можете найти множество примеров и документации, описывающей логику выполнения запросов.

1. Оформление заявки

Все начинается с того, что вы переходите в Настройки, Интеграции учетной записи, в которых вы будете поддерживать интеграцию в будущем.

Обратите внимание: Эта учетная запись будет основной для вашей интеграции. Это означает, что любой администратор этой учетной записи может управлять интеграцией и получать доступ к общим ключам приложения. Вы можете проверить терминологию здесь. Такая учетная запись будет рассматриваться нами как учетная запись разработчика.

Для создания интеграции необходимы права администратора учетной записи.

После нажатия на кнопку «Создать интеграцию» в интерфейсе открывшегося окна необходимо указать имя интеграции, выбрать «Разрешить доступ» и указать описание интеграции. Также необходимо указать Redirect URl - url страницы получения токенов и загрузить логотип Интеграции.

  • Название интеграции (не более 255 символов) - отображается на странице интеграций, в модальном окне предоставленного доступа, а также в поиске на странице интеграций.
  • Описание интеграции (не более 65000 символов) - отображается в модальном окне интеграции. Вы можете использовать HTML-макет.
  • Redirect URl - ссылка на ваш сайт, на котором будут работать ключи. Важно, чтобы домен был защищен сертификатом SSL, если вы планируете использовать интеграцию более чем в одной учетной записи. Также мы периодически проверяем доступность домена, чтобы интеграция работала.
  • Разрешить доступ - минимальный набор необходимых разрешений для работы интеграции.Более подробно описано в этой статье здесь.
  • Значок интеграции (400 × 272 jpeg / jpg / png / gif) - отображается на странице интеграций и в окне для получения доступа от пользователя.

Кроме этих администраторов учетной записи, в которой была создана интеграция, она также будет иметь: ID интеграции, Секретный ключ интеграции, Код авторизации.

После заполнения формы вам необходимо нажать кнопку «Сгенерировать ключ». После этого будет создана новая интеграция, и на следующей странице модального окна вы увидите все необходимые ключи.

Обратите внимание: Секретный ключ и идентификатор интеграции, связанные с интеграцией, будут отображаться только в вашей учетной записи разработчика.

2. Получение кода авторизации

Напомним, что это ключ с ограниченным сроком службы (20 минут), и с его помощью вам необходимо получить токен обновления и токен доступа до того, как истечет срок его службы. Он имеет ограниченный срок службы, потому что его можно украсть, но в случае кражи с ним ничего нельзя поделать, если тот, кто украл ваш код авторизации, не имеет ключей приложения, которые известны только администраторам учетных записей, в которых была создана интеграция.

Получить код авторизации можно тремя способами:

  1. Скопируйте из модального окна установленной интеграции. Это сработает, если вам нужно интегрировать только одну учетную запись amoCRM. Дополнительную информацию по этому вопросу можно найти в Упрощенной авторизации.
  2. Если в вашей интеграции есть виджет, то после его установки вы получите веб-перехватчик, отправленный на Redirect URl
  3. Получить код после перенаправления пользователя на Redirect URl

Вы можете упростить разработку при получении ключа через GET-параметры с помощью кнопки amoCRM.

Полная логика получения ключа через GET-параметры объясняется ниже:

  1. Пользователь, от которого вам нужно получить доступ, на вашем сайте открывает ссылку, которую вы ему отправляете. Внимание: очень важно, чтобы для пользователя весь процесс был понятен. Когда пользователи нажимают на ссылку, они должны понимать, что запрос разрешений будет происходить в их учетной записи amoCRM, и им необходимо понять, какую интеграцию они пытаются установить.
  2. Вот почему мы предлагаем вам использовать нашу фирменную кнопку, описание которой вы можете найти по этой ссылке Button.

  3. Генерация ссылки, по которой нужно перейти пользователям. Вам необходимо отправить пользователя по URL https://www.amocrm.com/oauth?client_id={Integration ID} & state = {параметр состояния, который будет отправлен вам на URl перенаправления} & mode = {popup или post_message }.
    ID интеграции вам уже известен. Состояние - генерируется вашим строковым параметром, возможно, вашим хешем. После получения ответа от amoCRM State вам необходимо проверить его достоверность, проверив отправленный ключ и тот, который сгенерирован в результате, убедитесь, что нет замены CSRF.Режим параметров необходим для обработки запроса на Redirect URl. Во всплывающем методе - окно авторизации будет закрыто, а перенаправление на Redirect URl произойдет в главном окне. В методе post_message перенаправление будет происходить в открывшемся окне, после обработки кода авторизации вам нужно будет закрыть окно. Также вы можете отображать информацию о статусе действия в главном окне с помощью метода postMessage.
  4. Когда пользователь перейдет по ссылке, он увидит логотип вашей интеграции, который вы загрузили при создании, его имя и список разрешений, которые требуются приложению.
    Мы предлагаем открывать такие страницы как модальное окно - во всплывающем окне. Это позволит пользователям не терять контекст страницы, на которой открылось всплывающее окно.
  5. В случае, если пользователь не авторизован - ему будет предложено авторизоваться в amoCRM, в противном случае у пользователя будет выбор из аккаунтов, в которых он является администратором.
  6. После выбора учетной записи и нажатия кнопки «Разрешить» интеграция будет установлена ​​в выбранной учетной записи, и пользователь будет перенаправлен в модальном или в главном окне (в зависимости от параметра режима) на указанный вами URL-адрес Redirect. по настройке этапа интеграции с GET-параметрами code, referrer, state, from_widget.Код параметра имеет код авторизации, реферер параметра - адрес пользователя аккаунта, состояние параметра - строка, которую вы отправили при открытии окна, если строка не была отправлена, этот параметр вам не вернется. Если мы отправим веб-перехватчик после установки виджета, в качестве дополнения вы получите GET-параметр from_widget.
  7. В случае, если пользователь нажмет кнопку «Запретить приложению в доступе», он будет перенаправлен на Redirect URl с GET-параметром error = access_denied и с состоянием GET-параметра, если оно было отправлено ранее.

Пример авторизации обработки, если был отправлен параметр post_message

При отправке GET-параметра mode со значением post_message в окне для разрешения доступа - перенаправление произойдет в том же окне. Ниже мы обсудим примеры взаимодействия между модальным окном для разрешения доступа и главным окном с помощью функции postMessage.

Код ниже из главного окна:

  <сценарий>
  var popup;

  auth ();
  
  function auth () {
    всплывающее окно = окно.open ('https://www.amocrm.com/oauth?client_id=XXX&state=XXX&mode=post_message', 'Разрешить доступ', 'полосы прокрутки, статус, изменение размера, ширина = 750, высота = 580');
  }

  
  window.addEventListener ('сообщение', updateAuthInfo);

  
  function updateAuthInfo (e) {
    if (e.data.error! == undefined) {
      console.log ('Ошибка -' + e.data.error)
    } else {
      console.log ('Авторизация завершена')
    }

    
    popup.close ();
  }
  

Код ниже будет отправлен в модальное окно с вашего внутреннего сервера, когда пользователь перейдет на Redirect URl

.
  


   OAuth Postback 
  <сценарий>
    
    если (окно.opener) {
      window.opener.postMessage ({'error': undefined, 'status': 'ok'}, «*»);
    }
  

  

После обработки вышеуказанного кода главное окно отобразит результат.
Рекомендуем автоматически закрывать модальное окно, как это было сделано в примере, чтобы пользователи не запутались в окнах.

3. Обмен кода авторизации на токен доступа и обновление токена

Когда вы получаете код авторизации, вам необходимо сделать запрос к специальному методу / oauth3 / access_token, как описано ниже.В ответ вы получите пару токенов доступа и обновления и время в секундах до истечения срока действия токена.
Маркер доступа является аналогом ключа сеанса. Его можно сохранить в приложении и использовать для запроса к API до истечения срока его жизни. Токен должен быть доступен только вашему приложению, поэтому мы не рекомендуем сохранять его в файлах cookie браузера, открывать файлы конфигурации и т. Д.
URL метода
Post / oauth3 / access_token

Параметры

Параметр Описание
client_id Идентификатор интеграции
client_secret Секрет интеграции
grant_type Тип данных авторизации (для кода авторизации - authorization_code)
код Полученный код авторизации
redirect_uri URI перенаправления, указанный в настройках интеграции

Параметры ответа

Параметр Описание
token_type Тип токена (на предъявителя)
expires_in Время в секундах, которое показывает, когда истечет срок действия токена
access_token Маркер доступа
refresh_token Маркер обновления

Пример запроса

  {
  "client_id": "xxxx",
  "client_secret": "xxxx",
  "grant_type": "код_ авторизации",
  «код»: «ххххххх»,
  "redirect_uri": "https: // test.контрольная работа"
}  

Пример ответа

  {
  "token_type": "На предъявителя",
  "expires_in": 86400,
  "access_token": "xxxxxx",
  "refresh_token": "xxxxx"
}  

Получение токена доступа с кодом авторизации через bash

  завиток https://subdomain.amocrm.com/oauth3/access_token -d \
'{"client_id": "xxx-xxx-xxx-xxx-xxx", "client_secret": "xxxxxx", "grant_type": "authorization_code", "code": "xxxxxxxx", "redirect_uri": "https: / /контрольная работа.контрольная работа/"}' \
-H 'Content-Type: application / json' \
-X ПОСТ  

Получение токена доступа с кодом авторизации через PHP

   'xxxx',
'client_secret' => 'хххх',
'grant_type' => 'authorization_code',
'code' => 'xxxxxx',
'redirect_uri' => 'https://test.ru/',
];

$ curl = curl_init ();
curl_setopt ($ curl, CURLOPT_RETURNTRANSFER, истина);
curl_setopt ($ curl, CURLOPT_USERAGENT, 'amoCRM-oAuth-client / 1.0 ');
curl_setopt ($ curl, CURLOPT_URL, $ ссылка);
curl_setopt ($ curl, CURLOPT_HTTPHEADER, ['Content-Type: application / json']);
curl_setopt ($ curl, CURLOPT_HEADER, ложь);
curl_setopt ($ curl, CURLOPT_CUSTOMREQUEST, 'POST');
curl_setopt ($ curl, CURLOPT_POSTFIELDS, json_encode ($ data));
curl_setopt ($ curl, CURLOPT_SSL_VERIFYPEER, 1);
curl_setopt ($ curl, CURLOPT_SSL_VERIFYHOST, 2);
$ out = curl_exec ($ завиток);
$ code = curl_getinfo ($ curl, CURLINFO_HTTP_CODE);
curl_close ($ curl);
$ code = (int) $ код;
$ errors = [
400 => 'Плохой запрос',
401 => "Неавторизовано",
403 => 'Запрещено',
404 => 'Не найдено',
500 => 'Внутренняя ошибка сервера',
502 => 'Плохой шлюз',
503 => 'Служба недоступна',
];

пытаться
{

if ($ code <200 && $ code> 204) {
выбросить новое исключение (isset ($ errors [$ code])? $ errors [$ code]: 'Неопределенная ошибка', $ code);
}
}
поймать (\ Исключение $ e)
{
die ('Ошибка:'.$ e-> getMessage (). PHP_EOL. 'Код ошибки: ' . $ e-> getCode ());
}

$ response = json_decode ($ out, истина);

$ access_token = $ response ['токен_доступа'];
$ refresh_token = $ response ['refresh_token'];
$ token_type = $ response ['token_type'];
$ expires_in = $ response ['expires_in'];  

4. Получение нового токена доступа по истечении срока его действия

Из предыдущего раздела вы могли заметить, что с токеном доступа мы получаем токен обновления. Требуется продолжить работу с API, когда действие токена доступа истекает, это довольно распространенное действие.

У токена обновления

есть два ограничения по продолжительности:

  1. Срок службы токена обновления составляет 3 месяца. Если интеграция не используется в течение 3 месяцев, не было сделано никаких запросов на актуализацию ключа, тогда интеграция потеряет доступ к данным, и потребуется снова запросить разрешение у пользователя.
  2. Маркер обновления можно изменить только один раз. После отправки его методу и получения нового токена доступа к паре / токена обновления старый токен обновления становится неактуальным. После получения нового токена обновления вам необходимо сохранить его, иначе вам придется снова запрашивать разрешения у пользователя.

Когда время жизни действия истекает, возможность получить токен доступа из Refresh становится невозможной. Для его обмена необходимо сделать запрос по специальному методу с актуальным токеном Refresh. В ответ вы получите новые токены доступа и обновления.

URL метода

POST / oauth3 / access_token

Параметры

Параметр Описание
client_id Идентификатор интеграции
client_secret Секрет интеграции
grant_type Тип данных авторизации (для токена обновления - refresh_token)
refresh_token Маркер обновления
redirect_uri URI перенаправления, указанный в настройках интеграции

Параметры ответа

Параметр Описание
token_type Тип жетона (на предъявителя)
expires_in Время в секундах, которое показывает, через сколько времени истечет срок действия токена
access_token Маркер доступа
refresh_token Маркер обновления

Пример запроса

  {
  "client_id": "xxxx",
  "client_secret": "xxxx",
  "grant_type": "refresh_token",
  "refresh_token": "xxxxx",
  "redirect_uri": "https: // test.контрольная работа"
}  

Пример ответа

  {
  "token_type": "На предъявителя",
  "expires_in": 86400,
  "access_token": "xxxxxx",
  "refresh_token": "xxxxx"
}  

Получение токена доступа с помощью токена обновления через bash

  {
  "token_type": "На предъявителя",
  "expires_in": 86400,
  "access_token": "xxxxxx",
  "refresh_token": "xxxxx"
}  

Получение токена доступа с кодом авторизации через PHP

   'xxxx',
'client_secret' => 'хххх',
'grant_type' => 'authorization_code',
'code' => 'xxxxxx',
'redirect_uri' => 'https://test.ru/',
];

$ curl = curl_init ();
curl_setopt ($ curl, CURLOPT_RETURNTRANSFER, истина);
curl_setopt ($ curl, CURLOPT_USERAGENT, 'amoCRM-oAuth-client / 1.0');
curl_setopt ($ curl, CURLOPT_URL, $ ссылка);
curl_setopt ($ curl, CURLOPT_HTTPHEADER, ['Content-Type: application / json']);
curl_setopt ($ curl, CURLOPT_HEADER, ложь);
curl_setopt ($ curl, CURLOPT_CUSTOMREQUEST, 'POST');
curl_setopt ($ curl, CURLOPT_POSTFIELDS, json_encode ($ data));
curl_setopt ($ curl, CURLOPT_SSL_VERIFYPEER, 1);
curl_setopt ($ curl, CURLOPT_SSL_VERIFYHOST, 2);
$ out = curl_exec ($ завиток);
$ code = curl_getinfo ($ curl, CURLINFO_HTTP_CODE);
curl_close ($ curl);
$ code = (int) $ код;
$ errors = [
400 => 'Плохой запрос',
401 => "Неавторизовано",
403 => 'Запрещено',
404 => 'Не найдено',
500 => 'Внутренняя ошибка сервера',
502 => 'Плохой шлюз',
503 => 'Служба недоступна',
];

пытаться
{

if ($ code <200 && $ code> 204) {
выбросить новое исключение (isset ($ errors [$ code])? $ errors [$ code]: 'Неопределенная ошибка', $ code);
}
}
поймать (\ Исключение $ e)
{
die ('Ошибка:'.$ e-> getMessage (). PHP_EOL. 'Код ошибки: ' . $ e-> getCode ());
}

$ response = json_decode ($ out, истина);

$ access_token = $ response ['токен_доступа'];
$ refresh_token = $ response ['refresh_token'];
$ token_type = $ response ['token_type'];
$ expires_in = $ response ['expires_in'];  

5. Запросы к API путем обмена токена доступа

С помощью полученного токена доступа вы можете легко делать запросы к API приложения. Для этого вам необходимо внести небольшие изменения в запросы, которые в настоящее время выполняются к API.
Вам не нужно отправлять файлы cookie с каждым запросом, и вам не нужно авторизоваться с параметрами USER_LOGIN и USER_HASH, вместо этого вам нужно добавить заголовок Authorization: Bearer {access token}

Пример обращения к счету метода

   'Плохой запрос',
401 => "Неавторизовано",
403 => 'Запрещено',
404 => 'Не найдено',
500 => 'Внутренняя ошибка сервера',
502 => 'Плохой шлюз',
503 => 'Служба недоступна',
];

пытаться
{

if ($ code <200 && $ code> 204) {
выбросить новое исключение (isset ($ errors [$ code])? $ errors [$ code]: 'Неопределенная ошибка', $ code);
}
}
поймать (\ Исключение $ e)
{
умереть (Ошибка: '.$ e-> getMessage (). PHP_EOL. 'Код ошибки: ' . $ e-> getCode ());
}  

Таким образом, вы можете делать запросы ко всем методам API, для которых у токена достаточно прав.

6. Обработчик ошибок

При работе с приведенной выше логикой могут появиться некоторые исключения, которые необходимо обработать, давайте рассмотрим их все:

  1. Если пользователь не дал разрешение на доступ к своей учетной записи, если вы использовали кнопку amoCRM, будет запущена функция, которая будет отправлена ​​в одном из параметров.Подробнее читайте в статье Button. В противном случае, если страница была открыта без кнопки, в случае отклонения произойдет перенаправление на URI перенаправления с GET-параметром error = access_denied.
  2. Если администратор учетной записи отключил установку интеграции, то предоставленный для интеграции access_token будет отправлен обратно. При запросе API вы получите код HTTP 401. Для продолжения работы по интеграции интегратору необходимо получить авторизацию для своей интеграции от пользователя.
  3. Если вы не сохранили актуальный токен обновления, он был утерян или прошло более 3 месяцев, то для продолжения работы по интеграции вам необходимо еще раз пройти процесс авторизации приложения.
  4. Если вы потеряли основные ключи интеграции или опубликовали случайно, то вы можете обновить секретный ключ в модальном окне интеграции учетной записи, в которой он был создан. После обновления секретного ключа интеграции вам необходимо обновить секретный ключ в конфигурации ваших интеграций.
.

Регистрация вашего бизнеса: пошаговое руководство

Итак, вы решили начать свой бизнес. Пришло время его зарегистрировать. Процесс регистрации бизнеса зависит от типа операции, которую вы начинаете, ее размера и штата, в котором вы живете. Ниже мы объясняем основы того, как зарегистрировать свой бизнес. Но помните, Square не дает юридических или налоговых консультаций, и эта статья не заменяет совет юриста или налогового консультанта.

1.Выберите бизнес-структуру

Первый шаг - выбрать бизнес-структуру. Выбранная вами бизнес-структура (также называемая бизнес-субъектом) влияет на то, как вы подаете налоговую декларацию, на ваши повседневные операции и насколько ваши личные активы подвергаются риску в случае банкротства вашего бизнеса. Поскольку выбранная вами бизнес-структура влияет на многое, важно сделать это в первую очередь.

Узнайте, как формализовать и развивать свой бизнес. Проверьте панель запуска работодателя.

Вот краткий обзор некоторых наиболее распространенных бизнес-структур.

  • Индивидуальное предприятие: это бизнес-структура по умолчанию. Если вы никогда не выбираете бизнес-структуру, а управляете своим бизнесом, то вы являетесь индивидуальным предпринимателем. В индивидуальном предпринимательстве ваш бизнес и личные активы и обязательства не разделены.

  • Партнерство: это бизнес-структура для двух или более людей, которые вместе владеют бизнесом. Существуют разные типы партнерства. В товариществе с ограниченной ответственностью (LP) обычно есть один партнер (генеральный партнер), который несет личную ответственность, в то время как другие партнеры (партнеры с ограниченной ответственностью) несут ограниченную ответственность.Партнерство с ограниченной ответственностью (LLP) защищает всех партнеров от долгов бизнеса.

  • Корпорация с ограниченной ответственностью (ООО): эта бизнес-структура позволяет владельцу бизнеса защищать личные активы от обязательств бизнеса. Прибыль и убытки LLC обычно облагаются налогом как личный доход или убыток для участников.

  • C-Corp: Эта структура делает ваш бизнес отдельным от владельцев (акционеров).Это означает, что бизнес может облагаться налогом, получать прибыль или нести юридическую ответственность за свои действия отдельно от акционеров. По этой причине такая структура обеспечивает максимальную защиту личных активов владельца. Поскольку IRS обычно рассматривает C-Corp как отдельную организацию для целей налогообложения, есть возможность облагаться налогом дважды: один раз, когда C-Corp получает прибыль, и снова, когда дивиденды выплачиваются акционерам.

Законы и процесс регистрации индивидуальных предпринимателей, LLC, корпораций и партнерств различаются от штата к штату.Если вы застряли, IRS - хорошее место для начала.

2. Найдите место

После того, как вы выбрали бизнес-структуру, которая лучше всего подходит для вас, вам нужно выбрать место. Это не значит, что ваш бизнес должен располагаться в обычном здании. Что касается регистрации вашего бизнеса, это означает адрес, который вы используете для налоговой отчетности, получения важных документов от государственных органов или вашего банковского счета.

3. Зарегистрируйте название своей компании

Далее идет регистрация вашего имени.Регистрация названия компании обычно является частью процесса регистрации отдельных организаций, таких как LLC и корпорации. Но если вы создаете индивидуальное предприятие или партнерство, действующее под чужим именем (например, вас зовут Джон Смит, но вы хотите, чтобы название вашей компании было другим), вам может потребоваться подать заявку администратора баз данных ( название «ведение бизнеса как»).

DBA также может использоваться существующими LLC и корпорациями для регистрации других предприятий под ними. Например, если у вас есть кафе и вы хотите открыть еще одно под другим именем, вы должны подать заявку на DBA.В нем первое и второе кафе являются одним юридическим лицом, но с двумя разными названиями.

В некоторых штатах администрация баз данных может не требоваться при регистрации вашего предприятия. Но прежде чем зарегистрировать свое имя, убедитесь, что оно подходит для использования. Вы также можете зарегистрировать его как товарный знак. Администратор баз данных не защищает имя автоматически от повторного использования где-либо еще.

4. Зарегистрируйтесь в IRS

Затем вам необходимо зарегистрировать свой бизнес в IRS, чтобы получить свой идентификационный номер работодателя (EIN).Ваш EIN похож на номер социального страхования для вашего бизнеса и необходим для подачи налоговой декларации. Вы можете подать заявку на получение EIN через Square, используя нашего бесплатного помощника EIN. Опять же, есть определенные обстоятельства, при которых он может вам не понадобиться. Чтобы убедиться в этом, у IRS есть небольшой опрос, который вы можете заполнить.

5. Зарегистрироваться в государственных и местных органах

После завершения всех федеральных регистраций вам, вероятно, потребуется зарегистрировать свой бизнес в одном или нескольких агентствах в вашем штате или местном правительстве, например, в налоговых офисах.Если вы планируете вести расчет заработной платы, вам также может потребоваться зарегистрироваться в вашем государственном агентстве для подачи налоговой декларации.

6. Подать заявку на получение лицензий и разрешений

Наконец, убедитесь, что у вас есть все необходимые лицензии и разрешения, чтобы начать обслуживать клиентов. В каждой отрасли могут быть разные требования. К счастью, Управление малого бизнеса США создало простой способ поиска необходимых разрешений и лицензий, указав свое местоположение и тип бизнеса.

После того, как вы зарегистрировали свой бизнес и разобрались с документами, вы можете сосредоточиться на интересной части своей работы: распространении информации и предоставлении отличного обслуживания.

Управление бизнесом - нелегкая задача, но Square здесь, чтобы помочь. У нас есть все инструменты, необходимые для начала, ведения и развития вашего бизнеса, независимо от того, продаете ли вы лично, через Интернет или и то, и другое. И мы объединили все наши инструменты в единую систему, сэкономив ваше время и деньги и упростив принятие решений. Так вы сможете вернуться к любимой работе и сосредоточиться на том, что будет дальше. Посмотрите, как работает Square .

.

Об авторе

alexxlab administrator

Оставить ответ